সমান্তরাল স্কেলিং / দক্ষতার প্লটগুলি লগ-লগ করুন


17

আমার নিজের অনেক কাজ অ্যালগরিদম স্কেলকে আরও ভাল করে গড়ে তোলার চারদিকে ঘোরে এবং সমান্তরাল স্কেলিং এবং / বা সমান্তরাল দক্ষতা দেখানোর একটি পছন্দনীয় উপায় হ'ল কোরের সংখ্যার তুলনায় একটি অ্যালগরিদম / কোডের পারফরম্যান্সকে প্লট করা eg

কৃত্রিম সমান্তরাল স্কেলিং প্লট

যেখানে এক্সিসগুলি কোরের সংখ্যা এবং ই- ম্যাক্সিসকে কিছু মেট্রিক উপস্থাপন করে, যেমন প্রতি ইউনিট সময়ে কাজ করা। বিভিন্ন বক্ররেখা যথাক্রমে 20%, 40%, 60%, 80%, এবং 100% এর 64 টি মূল সমান্তরাল দক্ষতা প্রদর্শন করে।এক্সY

দুর্ভাগ্যক্রমে যদিও, অনেক প্রকাশনাতে, এই ফলাফলগুলি লগ-লগ স্কেলিং দ্বারা প্লট করা হয় , উদাহরণস্বরূপ এই বা এই কাগজের ফলাফল । এই লগ-লগ প্লটের সমস্যা হ'ল প্রকৃত সমান্তরাল স্কেলিং / দক্ষতা মূল্যায়ন করা অবিশ্বাস্যরকম কঠিন, যেমন

এখানে চিত্র বর্ণনা লিখুন

যা উপরের মত একই প্লট, তবু লগ-লগ স্কেলিং সহ। মনে রাখবেন যে এখন 60%, 80% বা 100% সমান্তরাল দক্ষতার জন্য ফলাফলের মধ্যে কোনও বড় পার্থক্য নেই। আমি এই সম্পর্কে এখানে আরও কিছুটা লিখেছি ।

সুতরাং এখানে আমার প্রশ্ন: লগ-লগ স্কেলিংয়ের ফলাফলগুলি দেখানোর পক্ষে যুক্তি কী? আমি নিজের ফলাফলগুলি দেখানোর জন্য নিয়মিতভাবে রৈখিক স্কেলিং ব্যবহার করি এবং নিয়মিত রেফারিরা বলেছিলাম যে আমার নিজের সমান্তরাল স্কেলিং / দক্ষতার ফলাফল অন্যের (লগ-লগ) ফলাফলের মতো দেখতে ভাল লাগে না, তবে আমার জীবনের জন্য কেন প্লটের শৈলীগুলি পরিবর্তন করা উচিত তা দেখতে পাচ্ছি না।

উত্তর:


16

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

এবং প্রকৃতপক্ষে, লগলগে কোরের সংখ্যার উপর সময় কাটানোর সময়, অ্যালগরিদমগুলি খুব আলাদা নয়, আপনি নিম্নলিখিত প্লটটিতে দেখতে পারেন। লগলগ-স্কেলে বেশ কয়েকটি অ্যালগরিদমের সময়।  বিভিন্ন অ্যালগরিদম পার্থক্য করা শক্ত।

পি=টি1/(পিটিপি)টি1টিপিপিপিপিপি

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

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


2
এক্স

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

14

জর্জি হ্যাজার ম্যাসেজকে ফুলিংয়ে এই সম্পর্কে লিখেছেন - স্টান্ট 3: লগ স্কেলটি আপনার বন্ধু

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

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

মনে করুন পরিবর্তে এর পরিবর্তে আমরা ১ c টি কোর থেকে শুরু করেছি, প্রতি কোর প্রতি 1 মিলিয়ন গ্রিড কোষও। এখন যদি আমরা 65536 কোর করার স্কেল, আমরা কেবল কোর প্রতি 244 কোষ, যা হতে যাচ্ছে থাকবে অনেক বিচক্ষণ আরও অনেক কিছু। একটি লগ অক্ষ হল 16 কোর থেকে 65536 কোর থেকে স্পষ্টরূপে পরিষ্কারভাবে প্রতিনিধিত্ব করার একমাত্র উপায়। অবশ্যই আপনি এখনও একটি রৈখিক অক্ষ ব্যবহার করতে পারেন এবং "16, 128, এবং 1024 কোরের চিত্রটি উপাত্তে ওভারল্যাপ করেছে" বলে একটি ক্যাপশন রাখতে পারেন তবে এখন আপনি চিত্রটি দেখানোর পরিবর্তে শব্দ ব্যবহার করছেন।

একটি লগ-লগ স্কেল আপনার স্কেলিংটিকে একটি নোড বা র্যাকের বাইরে যাওয়ার মতো মেশিনের বৈশিষ্ট্যগুলি থেকে "পুনরুদ্ধার" করতে দেয়। এটি কাঙ্ক্ষিত কিনা তা আপনার উপর নির্ভর করে।


এক্সY

1
এটা অনেক শক্তিশালী স্কেল করার স্কেল দুই চেয়ে 4096 একটি গুণক দ্বারা একটি একক সমস্যা আরো কঠিন বিভিন্ন 64 প্রতিটি একটি গুণক দ্বারা সমস্যা মাপ। আমি যে উদাহরণ দিয়েছি, দুটি স্বতন্ত্র কেসগুলি 95% দক্ষতার চেয়ে ভাল দেখানো সহজ, তবে একক সম্মিলিত ক্ষেত্রে 30% এরও কম দক্ষতা রয়েছে। বিজ্ঞান এবং শিল্পে, অ্যালগরিদমটি "আরামদায়ক" যেখানে সরু আকারের পরিসীমাটির মধ্যে পড়ার জন্য কাঙ্ক্ষিত ঘুরে আসা সময়ের কোনও পূর্বনির্ধারিত কারণ নেই।
জেদ ব্রাউন

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

2

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

এর একটি সুবিধাটি হ'ল একবার আপনি সংখ্যাগুলি সরবরাহ করার পরে, কোনও পর্যালোচক বলতে পারে এমন খুব বেশি কিছু নেই (বা কমপক্ষে আপনি যে খণ্ডন করতে পারবেন না তা খুব বেশি নয়)।

* জে। লুইটজেনস, এম বার্জিন্স। 24 তম আইইইই ইন্টারন্যাশনাল প্যারালাল অ্যান্ড ডিস্ট্রিবিউটেড প্রসেসিং সিম্পোজিয়াম (আইপিডিপিএস 10), আটলান্টা, জিএ, পৃষ্ঠা 1--10-এর প্রসেসিংয়ে "ইউন্টাহর পারফরম্যান্স উন্নতিকরণ: একটি বৃহত-স্কেল অ্যাডাপটিভ মেশিং কম্পিউটিং ফ্রেমওয়ার্ক," 2010. ডিওআই: 10.1109 / আইপিডিপিএস.2010.5470437


কোনও উত্তর আপনি সরাসরি আপনার উত্তরে চিত্র এম্বেড করতে পারে?
অ্যারন আহমদিয়া

তাদের চিত্র ফিরিয়ে নেওয়ার পক্ষে যুক্তিযুক্তভাবে ন্যায্য ব্যবহার করার সময়, আমি বরং লেখকদের সাইটে ট্রাফিক চালিত করব। হয়তো আমি কিছু নম্বর এবং নিজের গ্রাফ তৈরি করব এবং পরে একটি চিত্র নিয়ে ফিরে আসব।
বিল বার্থ

সেই দৃষ্টিকোণ থেকে, আপনি চিত্রটি মোড়ানো করতে পারেন যাতে এটি লেখকের সাইটের সাথে লিঙ্ক করে, পাশাপাশি লিঙ্কটিতে পাঠ্যের পরিমাণ বাড়িয়ে তোলে। আপনি যদি আরও এই বিষয়ে আলোচনা করতে চান তবে আমি একটি মেটা / চ্যাট থ্রেড খুলতে পারি।
অরন আহমদিয়া

@ বিলবার্থ আপনার লিঙ্কটি এখনই তাদের হোম পৃষ্ঠায় পুনঃনির্দেশ করেছে। আপনি কি এটি ঠিক করতে বা ইমেজ এম্বেড করতে পারেন?
জেদ ব্রাউন

1
@ জেডব্রাউন লিঙ্ক সম্পাদিত। সম্পূর্ণ রেফারেন্স যুক্ত। ডিওআই যোগ করেছে।
বিল বার্থ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.