কণা পচন এবং ডোমেন পচন সমান্তরালিতকরণ অ্যালগরিদমের সুবিধা এবং অসুবিধাগুলি কী?


15

আমি গ্রোম্যাকস এবং ডিএল_পল'এর মতো বেশ কয়েকটি সফ্টওয়্যার প্যাকেজ ব্যবহার করে মলিকুলার ডায়নামিক্স (এমডি) সিমুলেশনগুলি চালাচ্ছি।

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

"প্রারম্ভিক নকশার সিদ্ধান্তটি ছিল প্রসেসরের উপর কাজ বিতরণের জন্য ডোমেন পচানোর চেয়ে কণা পচনের সাথে কাজ করার পছন্দ । পরবর্তী ক্ষেত্রে, স্পেসিয়াল ডোমেনগুলি প্রসেসরের উপর অর্পণ করা হয়, যা কেবল স্থানীয় যোগাযোগের মাধ্যমে স্থানীয় স্থানের প্রতিবেশীদের দ্রুত খুঁজে পেতে সক্ষম করে, তবে জটিলতার কারণে স্থানিক সীমানা অতিক্রম করে এমন কণাগুলিতে বিবেচ্য। ডোমেন পচন তখনই আরও ভাল পছন্দ যখন লিনিয়ার সিস্টেমের আকার পারস্পরিক যোগাযোগের পরিধিটি যথেষ্ট পরিমাণে অতিক্রম করে, যা অণু গতিবেগের ক্ষেত্রে খুব কমই ঘটে। কণা পচনের সাথে প্রতিটি প্রসেসরের বাহিনী গণনা করে এবং / বেগের আপডেটগুলি সমন্বিত করে কণাগুলির একটি নির্ধারিত ভগ্নাংশের জন্য, প্রসেসরের উপর সমানভাবে বিতরণ করা পূর্বনির্মাণ প্রতিবেশী তালিকা ব্যবহার করে The এবংকণার মধ্যে জোড় মিথস্ক্রিয়া থেকে উত্থিত F i j , যা i এবং j উভয় কণার বেগের আপডেটের জন্য প্রয়োজনীয়Fijijij, কেবল একবার গণনা করা হয় এবং অন্যান্য প্রসেসরের সাথে যোগাযোগ করা হয়। প্রতিটি প্রসেসর তার স্থানীয় স্মৃতিতে প্রয়োজনীয় স্থানাঙ্কগুলিতে স্টোরেজ সীমাবদ্ধ না করে সিস্টেমের সম্পূর্ণ সমন্বয় সেট রাখে। এটি সহজ এবং যোগাযোগ ওভারহেড সংরক্ষণ করে, যখন মেমরির দাবিটি সাধারণত মোটেই সীমাবদ্ধ ফ্যাক্টর নয়, এমনকি কয়েক মিলিয়ন কণার জন্যও। অন্যদিকে প্রতিবেশী তালিকাভুক্ত, যা কণার সংখ্যা থেকে 1000 গুণ বেশি থাকতে পারে, প্রসেসরের উপর বিতরণ করা হয়। প্রসেসরের রিংয়ের চারপাশে একবার সময় স্থানাঙ্ক এবং বাহিনী প্রেরণে যোগাযোগ মূলত সীমাবদ্ধ। এই পছন্দগুলি সময়ের সাথে দৃ .় এবং আধুনিক প্রসেসর ক্লাস্টারগুলিতে সহজেই প্রযোজ্য বলে প্রমাণিত হয়েছে "

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

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

দেখে মনে হচ্ছে এখন DL_POLY (সংস্করণ 4) ডোমেন পচন ব্যবহার করে। সংস্করণ 4 ম্যানুয়াল থেকে:

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

...

ডিডি কৌশলটির ক্ষেত্রে SHLE (RATTLE) অ্যালগোরিদম DL_POLY ক্লাসিকের প্রতিলিপিযুক্ত ডেটা পদ্ধতির চেয়ে সহজ, যেখানে অ্যাটম পজিশনের (মার্জিং এবং স্প্লাইকিং) গ্লোবাল আপডেট প্রয়োজন ""

এটি এটিকে শোনায় যেন ডোমেনের পচন ভাল কারণ এটি কার্যকর করা আরও কঠিন হলেও এটি আরও কার্যকর।

অন্যদিকে, পূর্ববর্তী সংস্করণ (DL_POLY Classic) প্রতিলিপিযুক্ত ডেটা প্যারালালাইজেশন ব্যবহার করেছে, যা কণা পচে যাওয়ার অপর নাম বলে মনে হয়। সংস্করণটির ম্যানুয়াল থেকে:

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

এই অনুচ্ছেদটি সাধারণত এই প্রশ্নের প্রথম অনুচ্ছেদের সাথে সংবেদনশীল বলে মনে হয়, কেবল এটি ছাড়া যে প্রতিলিপিযুক্ত ডেটা / কণা পচন "উচ্চ যোগাযোগের ওভারহেডস" রয়েছে। গ্রোম্যাকস পেপারের অনুচ্ছেদে বিপরীতটি বলে মনে হচ্ছে - সেই কণা পচা পছন্দনীয় কারণ এটির ডোমেন পচানোর চেয়ে যোগাযোগের ওভারহেড কম রয়েছে।

আপনি কোনো চিন্তা আছে?

উত্তর:


10

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

হে(এন2)হে(এন)

হে(এন)হে(এন) এনএটি আরও ভাল স্কেল করে। সুতরাং লিনিয়ার আকারের যুক্তি। ডোমেন পচন পদ্ধতি হ'ল সেল লিঙ্কিত তালিকাগুলি পদ্ধতির একটি সরল এক্সটেনশন - ঘরগুলি বিভিন্ন সিপিইউতে বিভক্ত হয়।

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

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

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


দুর্দান্ত উত্তর! অভিন্ন পরমাণু বিতরণ করা কি সাধারণ? এটি অভিন্ন বিতরণ নয় কি একই কাজ করে?
এফক্রুজ

3
এটি সিস্টেম সিমুলেটেড হওয়ার উপর নির্ভর করে। যদি এটি তরল, গ্যাস বা বাল্ক স্ফটিক হয় তবে পরমাণুগুলি কম অভিন্নভাবে বিতরণ করা হবে। যদি পর্যায়গুলি বা উচ্চ স্থানীয় কণার সমষ্টি থাকে - তবে কম। অ-ইউনিফর্ম বিতরণের জন্য ডোমেনের পচন কম কার্যকর হতে পারে যদি না কিছু অভিযোজিত পদ্ধতির গ্রহণ করা হয়।
Hristo Iliev

2
হে(এন2)হে(এনলগএন)Rহে(এন)

4

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

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

আপনার অনুমান যে "কণা পচে যাওয়ার সুবিধা রয়েছে যে কারও সাথে ডোমেনের সীমানা পেরিয়ে কণার মোকাবেলা করতে হবে না" যদি সিমুলেশনটির সময় স্কেলের উপর ছড়িয়ে পড়া তাৎপর্যপূর্ণ হয় তবে তা ধরে রাখে না।

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

দাবি অস্বীকার: আমি গ্রোম্যাক্স বিকাশ করতে সহায়তা করি এবং সম্ভবত পরের সপ্তাহে কণা পচনের বাস্তবায়ন ছড়িয়ে দেব ;-)


0

আমি Hristo Iliev এর উত্তর যোগ করতে চাই। যদিও তাঁর পোস্টটি বেশিরভাগই কম্পিউটেশনাল জটিলতার কথা বলে , যখন এটি সমান্তরালতার কথা আসে, যোগাযোগ জটিলতা কমপক্ষে গুরুত্বপূর্ণ হিসাবে - এবং এটি ডোমেন পচনের মূল কারণ।

আধুনিক সমান্তরাল মেশিনগুলিতে সাধারণত এক ধরণের টরাস টপোলজি থাকে। এর অর্থ হ'ল প্রতিটি সিপিইউতে বেশ কয়েকটি "প্রতিবেশী" সিপিইউ থাকে যা এটি খুব দ্রুত যোগাযোগ করতে পারে। প্রতিবেশী নয় এমন সিপিইউতে যোগাযোগ করা আরও ব্যয়বহুল। অতএব, কেবলমাত্র প্রতিবেশী সিপিইউগুলির সাথে যোগাযোগ করা প্রয়োজন এমন একটি অ্যালগরিদম থাকা সর্বদা অনুকূল।

পিহে(পি2)

পিহে(পি)

হে(পি)

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


এটি একটি খুব ভাল উত্তর। আমি কেবল একটি নির্ভুলতা যুক্ত করতে চেয়েছিলাম। এমডি-এর মতো অ্যালগরিদমের উপর ভিত্তি করে পদ্ধতিগুলি ব্যবহার করে এমন গ্রানুলার ফ্লো সিমুলেশনগুলি (যেমন ডিস্ক্রিট এলিমেন্ট পদ্ধতি) প্রায়শই এমন ক্ষেত্রে দেখা দেয় যেখানে আপনার এমন অঞ্চল রয়েছে যা প্রায় কণাগুলি থেকে সম্পূর্ণ
শূন্য থাকে

মিথস্ক্রিয়া অংশীদারদের এলোমেলোভাবে বিতরণ করা হয় এটি অবশ্যই কণা পঁচার প্রয়োজন হয় না। এক এবং প্রায়শই স্থানিকভাবে সংক্ষিপ্ততর কণার গোষ্ঠীগুলিকে বিচ্ছিন্ন করে শুরু করা উচিত, কারণ তারা সাধারণ মিথস্ক্রিয়া প্রতিবেশীদের ভাগ করে নেবে। শেষ পর্যন্ত বিচ্ছুরণের অর্থ বিতরণটি এলোমেলো হয়ে যায়। এই কারণেই উপরে বর্ণিত গ্রোম্যাক্সের কণা পচনের সিমুলেশনগুলি পচে যাওয়ার স্থানীয়তা সতেজ করার জন্য পর্যায়ক্রমে পুনরায় শুরু করা হবে।
mabraham
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.