TATU KIF
214_20-guruh talabasi
Mengqobilov Mirzokarimning
Parallel ishlov berish fanidan
Mustaqil ishi
Mavzu: Taqsimlangan tizimlarda katta ma’lumotlarga parallel ishlov berish bosqichlari
Bu misolda Python tilida multiprocessing modulini ishlatish orqali parallel vazifalarni bajarishni ko'ramiz. Python multiprocessing moduli, operatsion tizimning yuqori darajali parallel ishlovchi qurilmalarini qo'llab-quvvatlaydi.
Kod qismi:
import multiprocessing
def parallel_function(data_chunk):
# Bu funksiya parallel ishlov bajaradigan vazifalarni o'z ichiga oladi
result = [] # Natijalarni saqlash uchun bo'sh ro'yxat
for item in data_chunk:
# Har bir ma'lumot uchun vazifa bajarish
result.append(item * 2) # Misol: Har bir sonni ikki martaga ko'paytirish
return result
def main():
# Tizimda ishlov bajarish uchun ma'lumotlar
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Parallel ishlov boshlanishi
num_processes = multiprocessing.cpu_count() # Protsessorlar sonini olish
pool = multiprocessing.Pool(processes=num_processes)
# Ma'lumotlarni parallel ishlovchilarga taqsimlash
data_chunks = [data[i:i + len(data) // num_processes] for i in range(0, len(data), len(data) // num_processes)]
# Parallel ishlovchilarda vazifalarni bajarish
results = pool.map(parallel_function, data_chunks)
# Natijalarni birlashtirish
final_result = [item for sublist in results for item in sublist]
# Natijalarni chiqarish
print("Asosiy ma'lumotlar:", data)
print("Parallel natijalar:", final_result)
if __name__ == "__main__":
main()
Bu misol, kichik ma'lumotlar uchun ishlov bajarishni parallel qilish uchun multiprocessing modulini ishlatadi. Asosiy ma'lumotlar ro'yxati data bo'lib, undagi har bir sonni ikki martaga ko'paytirish vazifasini har bir parallel ishlovchiga taqsimlaydi. Natijalar bir-biriga qo'shiladi va o'zlashtiriladi.
|