SSD পার্ট 1 লিভারেজ করে একটি ডিস্ট্রিবিউটেড ইন-মেমরি কম্পিউটিং প্ল্যাটফর্মের জন্য অপ্টিমাইজেশন কৌশল

Aug 17, 2023

বিমূর্ত:

এই কাগজে, আমরা বেশ কিছু অপ্টিমাইজেশান কৌশল উপস্থাপন করি যা বিতরণ করা ইন-মেমরি কম্পিউটিং সিস্টেম, "অ্যাপাচি স্পার্ক" এর সামগ্রিক কর্মক্ষমতা উন্নত করতে পারে। পুনরাবৃত্ত কাজ এবং মধ্যবর্তী ডেটার জন্য এর বিতরণ করা মেমরি পরিচালনার ক্ষমতা থাকা সত্ত্বেও, স্পার্কের একটি উল্লেখযোগ্য কর্মক্ষমতা হ্রাস সমস্যা রয়েছে যখন উপলব্ধ পরিমাণে প্রধান মেমরি (ডিআরএএম, সাধারণত ডেটা ক্যাশিংয়ের জন্য ব্যবহৃত হয়) সীমিত।

এই সমস্যাটি মোকাবেলা করার জন্য, আমরা মেন মেমরি ব্যান্ডউইথের অভাবকে পরিপূরক করতে একটি SSD (সলিড-স্টেট ড্রাইভ) ব্যবহার করি। বিশেষত, আমরা "Spark JVM হিপ কনফিগারেশন"-এ শাফেল এবং স্টোরেজ স্পেসগুলির ক্ষমতা ভগ্নাংশের অনুপাতের পরিবর্তনের প্রভাবগুলি সম্মিলিতভাবে তদন্ত করে এবং বিভিন্ন "RDD ক্যাশিং নীতি" প্রয়োগ করে Apache Spark-এর জন্য একটি কার্যকর অপ্টিমাইজেশন পদ্ধতি উপস্থাপন করি (যেমন, SSD-সমর্থিত মেমরি ক্যাশিং)।

RDD ক্যাশিং কৌশলটি প্রোগ্রামের কর্মক্ষমতা উন্নত করতে স্পার্ক-এ RDD ক্যাশ করার পদ্ধতিকে বোঝায়। ক্যাশিংয়ের মাধ্যমে, গণনার ফলাফলগুলি বারবার গণনা এড়াতে মেমরিতে সংরক্ষণ করা যেতে পারে, যার ফলে প্রোগ্রাম অপারেশনের গতি উন্নত হয়। স্মৃতি মানুষের জ্ঞানীয় ক্ষমতাকে বোঝায় এবং এটি মানুষের বুদ্ধিমত্তার একটি গুরুত্বপূর্ণ অংশ।

যদিও RDD ক্যাশিং এবং মেমরির মধ্যে কোনো সম্পর্ক আছে বলে মনে হয় না, তাদের একটি নির্দিষ্ট সংযোগ আছে। প্রথমত, ক্যাশিং আমাদেরকে গণনার ফলাফলগুলি দ্রুত মনে রাখতে সাহায্য করতে পারে, তাই ক্যাশিংয়ের মাধ্যমে গণনার ফলাফলের স্মৃতিশক্তি উন্নত করা যেতে পারে। যখন আমাদের একই গণনার ফলাফল পুনরায় ব্যবহার করতে হবে, তখন ক্যাশে আমাদের ফলাফলটি দ্রুত মনে রাখতে এবং প্রতিবার পুনঃগণনা এড়াতে সাহায্য করতে পারে।

উপরন্তু, RDD ক্যাশিং কৌশলের মাধ্যমে, আমরা গণনার ফলাফল মেমরিতে সংরক্ষণ করতে পারি, যার ফলে ঘন ঘন ডিস্ক পড়া এবং লেখা এড়ানো যায়, অনেক সময় এবং সংস্থান সাশ্রয় হয়। এটিকে এক ধরণের "মেমরি" হিসাবেও গণ্য করা যেতে পারে, গণনার ফলাফলগুলি মেমরিতে সংরক্ষণ করে যাতে আমরা যে কোনও সময় সেগুলি ব্যবহার করতে পারি।

সংক্ষেপে, আরডিডি ক্যাশিং কৌশল এবং মেমরির মধ্যে প্রকৃতপক্ষে একটি নির্দিষ্ট সম্পর্ক রয়েছে। ক্যাশিংয়ের মাধ্যমে, আমরা গণনার ফলাফলের মেমরির ক্ষমতা উন্নত করতে পারি, এবং গণনার ফলাফলও মেমরিতে সংরক্ষণ করতে পারি, যার ফলে সময় এবং সংস্থান বাঁচানো যায় এবং প্রোগ্রামের কার্যকারিতা উন্নত হয়। এই ইতিবাচক কৌশল আমাদের কম্পিউটিং সংস্থানগুলির আরও ভাল ব্যবহার করতে, কাজের দক্ষতা উন্নত করতে এবং আরও লক্ষ্য অর্জনে সহায়তা করতে পারে।

দেখা যায় আমাদের স্মৃতিশক্তি উন্নত করতে হবে। Cistanche উল্লেখযোগ্যভাবে স্মৃতিশক্তি উন্নত করতে পারে, কারণ Cistanche নিউরোট্রান্সমিটারের ভারসাম্য নিয়ন্ত্রণ করতে পারে, যেমন অ্যাসিটাইলকোলিনের মাত্রা বৃদ্ধি এবং বৃদ্ধির কারণগুলি। এই পদার্থগুলি স্মৃতি এবং শেখার জন্য খুবই গুরুত্বপূর্ণ। এছাড়াও, মাংস রক্ত ​​​​প্রবাহকে উন্নত করতে পারে এবং অক্সিজেন সরবরাহকে উন্নীত করতে পারে, যা নিশ্চিত করতে পারে যে মস্তিষ্ক যথেষ্ট পুষ্টি এবং শক্তি পায়, যার ফলে মস্তিষ্কের জীবনীশক্তি এবং সহনশীলতা উন্নত হয়।

improve working memory

মেমরি উন্নত করতে সম্পূরকগুলি জানুন ক্লিক করুন

আমাদের বিস্তৃত পরীক্ষামূলক ফলাফলগুলি দেখায় যে প্রস্তাবিত অপ্টিমাইজেশন কৌশলগুলি ব্যবহার করে, আমরা 42% পর্যন্ত সামগ্রিক কর্মক্ষমতা উন্নত করতে পারি।

কীওয়ার্ড:

অ্যাপাচি স্পার্ক; স্মৃতি ব্যবস্থাপনা; সলিড-স্টেট ড্রাইভ; ইন-মেমরি প্রক্রিয়াকরণ কাঠামো; কর্মক্ষমতা; পৃষ্ঠা র্যাঙ্ক; ট্রানজিটিভ ক্লোজার; টেরাসর্ট; k- মানে ক্লাস্টারিং; জাভা ভার্চুয়াল মেশিন হিপ কনফিগারেশন; স্থিতিস্থাপক বিতরণ ডেটাসেট।

1। পরিচিতি

বিগ ডেটা শিল্পের দ্রুত বিকাশের সাথে সাথে বিতরণকৃত প্রক্রিয়াকরণ কাঠামো তৈরি করার জন্য বেশ কিছু গবেষণা প্রচেষ্টা হয়েছে, যেমন হ্যাডুপের ম্যাপরিডুস [1], যা কার্যকরভাবে "বিগ ডেটা" সংরক্ষণ এবং প্রক্রিয়া করতে পারে।

যাইহোক, হাডুপ ডিস্ট্রিবিউটেড ফাইল সিস্টেমের (HDFS) [৩] রিড/রাইট অপারেশনের কারণে সাধারণ স্পিন্ডেল ডিস্কের (HDD) উপর ভিত্তি করে Hadoop-এর কর্মক্ষমতা হ্রাস পেতে পারে, বিশেষ করে মেশিন লার্নিং ওয়ার্কলোডের জন্য যেখানে প্রচুর পুনরাবৃত্তিমূলক কাজ থাকতে পারে এবং মধ্যবর্তী তথ্য। এই সমস্যাটি সমাধানের জন্য, স্পার্ক [৪] ফ্রেমওয়ার্ক চালু করা হয়েছিল, যা কার্যকরভাবে মধ্যবর্তী ডেটা মেমরিতে ক্যাশে করতে পারে যাতে ক্লাস্টার কম্পিউটিং প্ল্যাটফর্ম নাটকীয়ভাবে সামগ্রিক কর্মক্ষমতা উন্নত করতে পারে।

যাইহোক, স্পার্কের পারফরম্যান্স আচরণ বিশ্লেষণ করে একটি বিস্তৃত অধ্যয়ন অনুসারে [৫], স্পার্কের এখনও কিছু স্ট্রাগলারের কাজের কারণে কর্মক্ষমতা হ্রাসের সমস্যা থাকতে পারে। স্পার্কের পুরো কাজ সমাপ্তির সময়কে প্রভাবিত করে এমন কার্যগুলি বিশ্লেষণের ফলে, আবর্জনা সংগ্রহ, শাফেল রাইটিং এবং শাফেল রিডকে প্রধান কারণ হিসাবে চিহ্নিত করা হয় যা স্পার্ক সিস্টেমের কর্মক্ষমতাকে নেতিবাচকভাবে প্রভাবিত করতে পারে।

দুর্ভাগ্যবশত, এই উপরে উল্লিখিত কাজগুলি কেন স্পার্কের টাস্ক প্রসেসিংকে প্রভাবিত করে তার প্রধান কারণগুলির একটি বিশদ বিশ্লেষণ এবং সম্ভাব্য সমাধানগুলি এখনও পুঙ্খানুপুঙ্খভাবে তদন্ত করা হয়নি।

এই কাগজে, আমরা প্রথমে নির্দিষ্ট কারণগুলি বিশ্লেষণ করি যা ব্যাখ্যা করতে পারে যে কেন আবর্জনা সংগ্রহ, শাফেল রাইটিং এবং শাফেল রিড স্পার্কের টাস্ক প্রসেসিংকে প্রভাবিত করে এবং একটি স্পার্ক ক্লাস্টারে ব্যাপক পরীক্ষা-নিরীক্ষার মাধ্যমে সম্পর্কিত পরিস্থিতি এবং সম্ভাব্য সমাধান উপস্থাপন করে।

বিশেষত, স্পার্কের "পুরো কাজ সমাপ্তির সময়" হ্রাসের কারণগুলি বিশ্লেষণ করার জন্য, আমরা PageRank [6], ট্রানজিটিভ ক্লোজার [7], TeraSort [8], এবং k- মানে ক্লাস্টারিং [9] এর সাথে বিভিন্ন পরীক্ষা-নিরীক্ষা করেছি। কাজের ভার. আমাদের বিস্তৃত পরীক্ষামূলক ফলাফলের উপর ভিত্তি করে, আমরা স্পার্ক সিস্টেমে সম্ভাব্য কর্মক্ষমতা হ্রাসের কারণগুলি খুঁজে পেয়েছি যেগুলিকে নিম্নরূপ সংক্ষিপ্ত করা যেতে পারে:

1. জাভা আবর্জনা সংগ্রহের কর্মক্ষমতা হ্রাস: যেহেতু স্পার্ক জাভা ভার্চুয়াল মেশিনে (JVM) চলছে, জাভা আবর্জনা সংগ্রহ বিশেষত তখন ঘটতে পারে যখন স্পার্ক এক্সিকিউটর মেমরির অভাব থাকে, যেমন, JVM হিপ সাইজ।

2. শাফেল স্পিলের কার্যক্ষমতার অবনতি: যখন শাফেল রাইট প্রক্রিয়া করা হচ্ছে, যদি স্পার্ক এক্সিকিউটর মেমরির (জেভিএম হিপ) শাফেল মেমরি অপর্যাপ্ত হয়, স্পার্ক শাফেল ডেটা ডিস্কে (HDD) ছড়িয়ে দেবে। এই ক্ষেত্রে, স্পার্ককে লেখার জন্য ডেটা সিরিয়ালাইজ করতে হবে এবং ডিস্ক থেকে ডেটা পড়ার জন্য ডি-সিরিয়ালাইজ করতে হবে। যেহেতু সিরিয়ালাইজেশন এবং ডি-সিরিয়ালাইজেশন প্রসেসের জন্য একটি CPU রিসোর্স প্রয়োজন, তাই এটি কাজের সামগ্রিক প্রক্রিয়াকরণকে ধীর করে দিতে পারে।

3. শাফেলে কর্মক্ষমতার অবনতি অবরুদ্ধ সময় পড়া: পরীক্ষামূলক ফলাফল থেকে আমরা দেখতে পাব যদি ট্রানজিটিভ ক্লোজার ওয়ার্কলোডের মতো পুনরাবৃত্তিমূলক পর্যায়ে কাজের সংখ্যা বাড়তে থাকে, অভাবের কারণে ওভারহেড এবং জাভা আবর্জনা সংগ্রহের সময়সূচী হতে পারে। স্পার্ক নির্বাহক মেমরি। এটি শাফেল রিড কাজগুলিকে ব্লক করার কারণ হতে পারে যার ফলাফল খারাপ পারফরম্যান্স হতে পারে।

এই কাগজের প্রধান অবদান হল যে আমরা কার্যকর স্পার্ক ক্লাস্টার কনফিগারেশন কৌশলগুলি প্রস্তাব করি যা ক্লাস্টারের শারীরিক মেমরি সীমা অতিক্রম করতে SSDs ব্যবহার করে সামগ্রিক সিস্টেমের কর্মক্ষমতা উন্নত করতে পারে। কমোডিটি সার্ভার সমন্বিত একটি সাধারণ ক্লাস্টার কম্পিউটিং পরিবেশে, প্রচুর পরিমাণে প্রধান মেমরি সেট আপ করা কঠিন হবে।

অতএব, আমরা একটি ডিস্ট্রিবিউটেড ইন-মেমরি কম্পিউটিং সিস্টেমে কর্মক্ষমতার অবনতির সমস্যাগুলিকে মোকাবেলা করি যা কার্যকরভাবে SSD গুলি ব্যবহার করে অপর্যাপ্ত প্রধান মেমরির পরিমাণের কারণে ঘটতে পারে। আমাদের অপ্টিমাইজেশন কৌশল নিম্নরূপ দ্বিগুণ।

প্রথমত, আমরা "স্পার্ক জেভিএম হিপ কনফিগারেশন" এ শাফেল এবং স্টোরেজ স্পেসের ক্ষমতা ভগ্নাংশ অনুপাত পরিবর্তন করি। বিভিন্ন কাজের চাপের পরীক্ষামূলক ফলাফল অনুসারে, আমরা কাজের চাপের মেমরি ব্যবহারের ধরণগুলির উপর নির্ভর করে কর্মক্ষমতা পার্থক্য লক্ষ্য করি।

দ্বিতীয়ত, আমরা বিভিন্ন "RDD ক্যাশিং নীতি" প্রয়োগ করি যেমন কোন ক্যাশে, মেমরি-অনলি ক্যাশে, ডিস্ক-অনলি ক্যাশে, এবং SSD-ব্যাকড মেমরি ক্যাশে। বেশিরভাগ ক্ষেত্রে, এসএসডি-সমর্থিত মেমরি ক্যাশিং নীতিটি সর্বোত্তম কার্যক্ষমতা দেখায় যদি না সমস্ত RDD প্রকৃত প্রধান মেমরিতে সম্পূর্ণরূপে ফিট করতে পারে।

আমরা বিভিন্ন কনফিগারেশন এবং বিভিন্ন কাজের চাপের অধীনে একটি অভিজ্ঞতামূলক কর্মক্ষমতা মূল্যায়ন পরিচালনা করেছি। আমাদের পরীক্ষামূলক ফলাফলগুলি দেখায় যে টার্গেট ওয়ার্কলোডের মেমরি ব্যবহারের উপর ভিত্তি করে স্পার্কের JVM হিপে সঞ্চয়স্থানের পরিমাণ এবং হাতবদল করার জায়গাগুলি যত্ন সহকারে বরাদ্দ করে এবং একটি সর্বোত্তম RDD ক্যাশিং নীতি প্রয়োগ করে, আমরা 42% পর্যন্ত মোট সম্পাদনের সময়কে উল্লেখযোগ্যভাবে হ্রাস করতে পারি।

এই কাগজের বাকি নিম্নলিখিত হিসাবে গঠন করা হয়. বিভাগ 2-এ, আমরা সংক্ষিপ্তভাবে স্পার্ক সিস্টেমের পটভূমি এবং বর্তমান সম্পর্কিত কাজ বর্ণনা করি, এবং বিভাগ 3 স্পার্কের ব্যবহার এবং স্পার্ক ক্লাস্টারের কনফিগারেশন উপস্থাপন করে এবং সামগ্রিক কর্মক্ষমতা উন্নত করতে আমাদের অপ্টিমাইজেশন পদ্ধতির বিবরণ দেয়। বিভাগ 4-এ, আমরা আমাদের পরীক্ষামূলক ফলাফল এবং কর্মক্ষমতা হ্রাসের কারণগুলির বিশ্লেষণ এবং তাদের জন্য সংশ্লিষ্ট সমাধান উপস্থাপন করি। অধ্যায় 5 মূল্যায়নের ফলাফল নিয়ে আলোচনা করে এবং আমাদের ফলাফলের সংক্ষিপ্ত বিবরণ দেয়, এবং আমরা অধ্যায় 6-এ ভবিষ্যত কাজ শেষ করি এবং আলোচনা করি।

2. পটভূমি এবং সম্পর্কিত গবেষণা কাজ
2.1। পটভূমি

Apache Hadoop অনেক নোড জুড়ে কার্যকরভাবে ডেটা এবং কম্পিউটেশন বিতরণ ও পরিচালনার মাধ্যমে ডি ফ্যাক্টো স্ট্যান্ডার্ড "বিগ ডেটা" স্টোরেজ এবং প্রসেসিং প্ল্যাটফর্ম হয়েছে। যাইহোক, Hadoop কিছু অ্যাপ্লিকেশনের জন্য প্রতিযোগিতামূলক কর্মক্ষমতা অর্জন করতে পারে না যেমন মেশিন লার্নিং, বিশেষ করে যেগুলি বেশ কয়েকটি পুনরাবৃত্তিমূলক পর্যায় এবং তুলনামূলকভাবে বড় পরিমাণে মধ্যবর্তী ডেটা নিয়ে গঠিত। এর কারণ, প্রতিটি পুনরাবৃত্তিমূলক পর্যায়ে, Hadoop-কে MapReduce দ্বারা জেনারেট করা HDFS থেকে/তে ডেটা পড়তে এবং লিখতে হয়।

অ্যাপাচি স্পার্ক রেসিলিয়েন্ট ডিস্ট্রিবিউটেড ডেটাসেট (RDD) ব্যবহার করে [১০] যা কার্যকরীভাবে মূল মেমরিতে যেকোনো মধ্যবর্তী/ফাইনাল ডেটা পরিচালনা করতে পারে যেমন ক্যাশিং যা পুনরাবৃত্তিমূলক অ্যাপ্লিকেশনের প্রতিটি পর্যায়ে দক্ষতার সাথে ব্যবহার করা যেতে পারে। যেহেতু RDD অপরিবর্তনীয়, স্পার্ক একটি বংশের ধারণা প্রবর্তন করে যা RDD সৃষ্টির ইতিহাসের ট্র্যাক রাখতে পারে, যা ব্যর্থতা পুনরুদ্ধারের জন্য ব্যবহার করা যেতে পারে।

এই ধারণার মাধ্যমে, স্পার্ক হাডুপের তুলনায় ডিস্কে I/O অপারেশনের সংখ্যা কমাতে পারে। এই ডিস্ট্রিবিউটেড ইন-মেমরি কম্পিউটিং ক্ষমতার কারণে, স্পার্ক সাধারণত বিস্তৃত ডেটা অ্যানালিটিক্স অ্যাপ্লিকেশানগুলির জন্য হ্যাডুপের চেয়ে ভাল কার্যকারিতা দেখায়।

যাইহোক, স্পার্কের ডেটা সঞ্চয় করার জন্য প্রধান মেমরির জন্য ব্যবহৃত RAM প্রতি বাইটের ইউনিট মূল্যের দিক থেকে তুলনামূলকভাবে ব্যয়বহুল, তাই বিভিন্ন কাজের চাপকে সমর্থন করার জন্য স্পার্ক ক্লাস্টারে যথেষ্ট পরিমাণে RAM তৈরি করা খুব কঠিন হবে।

ways to improve your memory

অতএব, RAM এর সীমিত ক্ষমতা স্পার্ক প্রক্রিয়াকরণের সামগ্রিক গতিকে সীমাবদ্ধ করতে পারে। আবেদন প্রক্রিয়াকরণের সময় সীমিত স্থানের কারণে স্পার্ক যদি RDD-এ RAM-তে ক্যাশে করতে না পারে, তাহলে Spark-কে হারিয়ে যাওয়া RDDগুলিকে পুনরায় তৈরি করতে হবে যা প্রতিটি পর্যায়ে RAM-তে ফিট করতে পারে না, Hadoop-এর পদ্ধতির অনুরূপ। উপরন্তু, যেহেতু স্পার্ক জব হল একটি জাভা প্রক্রিয়া JVM-এ চলমান, GC (আবর্জনা সংগ্রহ) ঘটে যখনই মেমরির উপলব্ধ পরিমাণ সীমিত হয়। যেহেতু RDD সাধারণত JVM-এর পুরানো জায়গায় ক্যাশে করা হয়, যখন একটি বড় GC ঘটে, তখন এটি পুরো কাজের প্রক্রিয়াকরণ কার্যকারিতাকে উল্লেখযোগ্যভাবে প্রভাবিত করতে পারে।

অধিকন্তু, মেমরির অভাব একটি "শাফল স্পিল" সৃষ্টি করতে পারে, যা মেমরি থেকে ডিস্কে শাফেলের সময় উত্পন্ন মধ্যবর্তী ডেটা ছড়িয়ে দেওয়ার প্রক্রিয়া। শাফেল স্পিল অনেক ডিস্ক I/O অপারেশন এবং CPU ওভারহেড জড়িত। ফলস্বরূপ, সমস্ত RDD ক্যাশে এবং শাফেলের জন্য মেমরি সুরক্ষিত করার জন্য একটি নতুন সমাধান বিবেচনা করা আবশ্যক।

2.2। সম্পর্কিত কাজ

নিম্নরূপ স্পার্ক প্ল্যাটফর্মের কর্মক্ষমতা উন্নতি সম্পর্কিত সাহিত্যে অনেক সম্পর্কিত গবেষণা হয়েছে। সারণি 1 বিষয় অনুযায়ী সম্পর্কিত কাজ সংক্ষিপ্ত করা হয়েছে.

improve cognitive function

• স্পার্ক শাফেলের কর্মক্ষমতা উন্নত করা:

স্পার্ক [১১]-এ শাফেল কর্মক্ষমতার অপ্টিমাইজেশন একটি স্পার্ক কাজ চালানোর ক্ষেত্রে বাধা বিশ্লেষণ করে এবং দুটি বিকল্প উপস্থাপন করে, কলামার কম্প্রেশন, এবং শাফেল ফাইল একত্রীকরণ। যেহেতু ইন-মেমরি বাফার থেকে সমস্ত ডেটা ছড়িয়ে দেওয়া OS-এর জন্য একটি বোঝা, সমাধান হল প্রথম স্থানে কম, বড় ফাইল লেখা।

নিকোলাই এট আল। সম্মিলিত ডেটা এলোমেলো করার জন্য একটি নতুন অভিযোজিত I/O পদ্ধতি উপস্থাপন করেছে [12]। তারা প্রতিটি রিডুসার টাস্কের জন্য প্রক্রিয়াকরণের পৃথক হারে শাফেল ব্লকের সঞ্চয়নকে মানিয়ে নেয় এবং উত্সের সর্বোত্তম নির্বাচনের জন্য (অর্থাৎ, শাফেল ব্লকগুলি কোথা থেকে আনতে হয়) সহযোগিতা করার জন্য রিডুসারদের সমন্বয় করে। এইভাবে, তারা লোডগুলিকে ভালভাবে ভারসাম্য রাখে এবং বাফারের জন্য মেমরির ব্যবহার কমিয়ে স্ট্রাগলারদের এড়ায়।

রাইফেল [১৩] বড় আকারের ডেটা বিশ্লেষণের জন্য সবচেয়ে দক্ষ হাতবদল পরিষেবাগুলির মধ্যে একটি। রাইফেল ফ্র্যাগমেন্টেড ইন্টারমিডিয়েট শাফেল ফাইলগুলিকে বৃহত্তর ব্লক ফাইলগুলিতে একত্রিত করে এবং এইভাবে ছোট, এলোমেলো ডিস্ক I/O অনুরোধগুলিকে বড়, অনুক্রমিক ফাইলগুলিতে রূপান্তর করে। মার্জ অপারেশন ওভারহেড কমাতে রাইফেল একত্রিত এবং আনমার্জ করা ব্লক ফাইল উভয়কে মিশ্রিত করে। পু এট আল। ভাল পারফরম্যান্স অর্জনের জন্য দ্রুত কিন্তু ব্যয়বহুল স্টোরেজের সাথে সস্তা কিন্তু ধীর স্টোরেজ একত্রিত করে একটি ব্যয়-কার্যকর শাফেল পরিষেবার পরামর্শ দিন [14]। তারা তাদের সিস্টেমে TPC-DS, ক্লাউডসোর্ট এবং বিগ ডেটা বেঞ্চমার্ক চালায় এবং 59% পর্যন্ত সম্পদের ব্যবহার হ্রাস দেখায়।

তারা সকলেই নেটওয়ার্ক স্থানান্তর সমন্বয় বা ডিস্ক I/O হ্রাস করে এলোমেলো কর্মক্ষমতা এবং খরচ-কার্যকারিতার উন্নতির উপর জোর দেয়। যাইহোক, আমাদের গবেষণায়, আমরা শাফেল স্পিল কমাতে JVM হিপ কনফিগার করি যা শাফেল ফেজ এবং কাজ শেষ হওয়ার সময় একটি বাধা।

• স্পার্কের জন্য কর্মক্ষমতা বিশ্লেষণ, মডেলিং এবং অপ্টিমাইজেশান:

[15] এর লেখকরা দেখান যে স্টোরেজ I/O ইন-মেমরি ক্লাস্টার কম্পিউটিং ফ্রেমওয়ার্কগুলিতে একটি ভারী ভূমিকা পালন করে এবং স্পার্ক প্রোগ্রামগুলির পারফরম্যান্সের মাধ্যমে যুক্তি দেওয়ার জন্য একটি I/O-সচেতন বিশ্লেষণাত্মক মডেল প্রস্তাব করে। প্রস্তাবিত মডেল বিশ্লেষণাত্মকভাবে ব্যাখ্যা করতে পারে এবং পুনরাবৃত্তিমূলক অ্যালগরিদমগুলির রানটাইম আচরণের ভবিষ্যদ্বাণী করতে পারে যা গণনা/শাফল-ভারী অ্যালগরিদম। তারা Google ক্লাউডে খরচ অপ্টিমাইজেশানের প্রস্তাবিত মডেলটিও প্রয়োগ করে৷

মার্কু এট আল। তুলনামূলকভাবে প্রতিনিধি কাজের চাপ ব্যবহার করে তাদের পরীক্ষামূলক ফলাফলের উপর ভিত্তি করে স্পার্ক এবং ফ্লিঙ্কের কর্মক্ষমতা বিশ্লেষণ দেখান [16]। তারা চারটি সবচেয়ে গুরুত্বপূর্ণ প্যারামিটারের একটি সেট সনাক্ত করে যা কর্মক্ষমতার উপর একটি বড় প্রভাব ফেলে। টাস্ক সমান্তরালতা, শাফেল পর্বের সময় নেটওয়ার্ক আচরণ, মেমরি এবং ডেটা সিরিয়ালাইজেশন হল সবচেয়ে গুরুত্বপূর্ণ পরামিতি যা তারা বেছে নেয়। অন্যদিকে, আমাদের গবেষণায়, আমরা সঠিকভাবে স্টোরেজের ধরন বেছে নিয়ে এবং টার্গেট ওয়ার্কলোডের মেমরি ব্যবহারের ধরণ অনুসারে স্পার্কের JVM হিপে স্টোরেজ এবং এলোমেলো এলাকার পরিমাণ বরাদ্দ করে কর্মক্ষমতা উন্নতির পদ্ধতিতে ফোকাস করি।

• স্পার্কের জন্য প্যারামিটার টিউনিং:

সমস্ত কনফিগারেশন প্যারামিটার টিউন করে স্পার্কের কর্মক্ষমতা উন্নত করার জন্য কিছু গবেষণা ট্রায়াল হয়েছে। পেট্রিডিস এট আল। ট্রায়াল এবং ত্রুটি দ্বারা স্পার্কের প্যারামিটার টিউনিংয়ের তাদের অভিজ্ঞতা দেখান [17]। তারা 12টি কী অ্যাপ্লিকেশন ইনস্ট্যান্স-নির্দিষ্ট পরামিতি বাছাই করে এবং একটি Petaflop সুপার কম্পিউটারে বাস্তব মৃত্যুদন্ড ব্যবহার করে তাদের প্রভাব মূল্যায়ন করে।

একইভাবে, গৌনারিস এবং টোরেস [১৮] পরীক্ষামূলক পদ্ধতিতে প্রয়োগের কার্যক্ষমতার উপর শাফলিং, কম্প্রেশন এবং সিরিয়ালাইজেশন সম্পর্কিত সবচেয়ে গুরুত্বপূর্ণ টিউনেবল স্পার্ক প্যারামিটারের প্রভাব বিশ্লেষণ করেছেন। তারা বার্সেলোনা সুপারকম্পিউটিং সেন্টারের স্পার্ক-সক্ষম Marenostrum III (MN3) কম্পিউটিং অবকাঠামোতে ব্যাপক পরীক্ষামূলক ফলাফল প্রদান করে।

অভিজ্ঞতামূলক টিউনিং পদ্ধতির বিপরীতে, ইউ এট আল। একটি ইন-মেমরি কম্পিউটিং প্ল্যাটফর্মের জন্য একটি অটো-টিউনিং স্কিম প্রস্তাব করুন [19]। তারা ইনপুট ডেটাসেটের আকার এবং 41 কনফিগারেশন মেট্রিক্সকে পারফরম্যান্স মডেলের পরামিতি হিসাবে নেয়। তারা হায়ারার্কিক্যাল মডেলিং (HM) ব্যবহার করে বিভিন্ন স্বতন্ত্র সাব-মডেলকে হায়ারার্কিকভাবে একত্রিত করে এবং সর্বোত্তম কনফিগারেশনের জন্য জেনেটিক অ্যালগরিদম (GA) ব্যবহার করে। যদিও উপরের গবেষণার কাজগুলি স্পার্কের পরামিতিগুলিকে টিউন করার মাধ্যমে সর্বোত্তম কার্যক্ষমতায় পৌঁছানোর চেষ্টা করে, যা আমাদের কাজের অনুরূপ, তবে আমাদের কাগজ এগুলির থেকে আলাদা কারণ আমরা একটি SSD-ব্যাকড মেমরি ক্যাশে নীতি ব্যবহার করে কার্যকরভাবে একটি স্পার্কের শারীরিক মেমরির সীমাবদ্ধতা প্রসারিত করি। ক্লাস্টার

improve brain

• MapReduce-ভিত্তিক ডেটা প্রক্রিয়াকরণের জন্য মেমরি অপ্টিমাইজেশান:

[20] এর লেখকরা Hadoop-সামঞ্জস্যপূর্ণ শিখা-MR ফ্রেমওয়ার্কের কর্মক্ষমতার উপর মেমরি দক্ষতার প্রভাবকে গভীরভাবে বিশ্লেষণ করেছেন। তারা অবজেক্ট বরাদ্দ এবং ডিললোকেশনের সংখ্যা কমাতে, জিসি ওভারহেড এবং সামগ্রিক সম্পাদনের সময় হ্রাস করার জন্য বেশ কয়েকটি মেমরি অপ্টিমাইজেশন কৌশল উপস্থাপন করে। আমাদের অধ্যয়নে, আমরা ইন-মেমরি সিস্টেমের কর্মক্ষমতা উন্নত করার জন্য SSD গুলি ব্যবহার করি।

• স্পার্কের উপরিভাগে JVM এবং আবর্জনা সংগ্রহ কমানো:

JVM এবং GC স্পার্ক প্ল্যাটফর্মের প্রধান ওভারহেডগুলির মধ্যে একটি নিয়ে গঠিত, বিশেষ করে যখন কাজের চাপ মেমরির সীমাবদ্ধতায় ভোগে। সিংহ ইত্যাদি। উল্লেখ করুন যে JVM ওয়ার্ম-আপ ওভারহেড এইচডিএফএস, হাইভ এবং স্পার্ক প্ল্যাটফর্মের প্রধান বাধাগুলির মধ্যে একটি [২১]। তারা একটি নতুন JVM প্রস্তাব করে যা ইতিমধ্যে উষ্ণ JVM-এর পুল পুনঃব্যবহার করে ওয়ার্ম-আপ ওভারহেডকে বর্জন করে।

মাস এট আল। দেখুন যে জিসি-প্ররোচিত বিরতিগুলি স্পার্কের উপর উল্লেখযোগ্য প্রভাব ফেলতে পারে [22]। এইভাবে, তারা একটি সামগ্রিক রানটাইম সিস্টেমের প্রস্তাব করে, একটি বিতরণ করা ভাষা রানটাইম যা একাধিক নোড জুড়ে জিসি-প্ররোচিত বিরতিগুলিকে সমন্বয় করতে সম্মিলিতভাবে রানটাইম পরিষেবাগুলি পরিচালনা করে।

যদিও উভয় কাগজপত্রই সাধারণ ক্ষেত্রে স্পার্ক-এ JVM- এবং GC-সম্পর্কিত সমস্যাগুলির সাথে মোকাবিলা করে, আমাদের কাগজ অনুমান করে যে কাজের চাপ মেমরির সীমাবদ্ধতায় ভুগছে।

• স্পার্কের জন্য ক্যাশে ব্যবস্থাপনা নীতি অপ্টিমাইজেশান:

[২৩] এর লেখকরা সর্বনিম্ন কম্পোজিশন রেফারেন্স কাউন্ট (এলসিআরসি) প্রস্তাব করেছেন, একটি নির্ভরতা-সচেতন ক্যাশে ব্যবস্থাপনা নীতি যা আন্তঃ-পর্যায় এবং আন্তঃ-পর্যায় নির্ভরতা উভয়কেই বিবেচনা করে। LCRC পরবর্তী ব্যবহারের আগে এই আন্তঃ-পর্যায় অ্যাক্সেস করা ব্লকগুলিকে মেমরিতে পুনরায় লিখতে পারে। আমাদের গবেষণায়, আমরা ইন-মেমরি সিস্টেমের কর্মক্ষমতা উন্নত করার জন্য ক্যাশে নীতি বাড়ানোর পরিবর্তে SSD-এর সুবিধা গ্রহণ করি।

improve memory

3. স্পার্ক প্ল্যাটফর্মের জন্য অপ্টিমাইজেশন কৌশল

এই বিভাগে, আমরা আমাদের ক্লাস্টার পরিবেশ এবং সংশ্লিষ্ট অপ্টিমাইজেশন কৌশলগুলি উপস্থাপন করি যা স্পার্ক প্ল্যাটফর্মের সামগ্রিক কর্মক্ষমতা উন্নত করতে পারে।


For more information:195477648nn@gmail.com

তুমি এটাও পছন্দ করতে পারো