বিতরণ জিওপ্রসেসিংয়ের জন্য কি কোনও স্থাপত্য রয়েছে?


24

ধরুন আমার ল্যানে আমার কাছে 50 টি কম্পিউটার রয়েছে। প্রতিটি কম্পিউটারে মার্কিন যুক্তরাষ্ট্রে একটি নির্দিষ্ট রাজ্যে সমস্ত পার্সেল বহুভুজগুলির একটি জিওডাটাবেস থাকে।

আমি যে বেশি মূল্যবান সব পার্সেল খুঁজে বের করে একটি geoprocessing টাস্ক লিখতে চাই এক্স যে মধ্যে রয়েছে $ / একর Y অন্য মোড়ক কম এ মূল্যবান হয় পায়ের z- র $ / একর।

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

এমন কোনও আর্কিটেকচার রয়েছে যা এই ধরণের বিতরণ জিওপ্রসেসিংকে সমর্থন করে?

আর্কিটেকচারটি বিমূর্তভাবে বর্ণনা করা যেতে পারে বা অ্যাজুরে বা অ্যামাজন ওয়েব সার্ভিসের সাথে সম্পর্কিত একটি বাস্তবায়ন হিসাবে বর্ণনা করা যেতে পারে। অথবা, সাধারণত, একটি সাধারণ অফিস হিসাবে যেখানে কম্পিউটারগুলি প্রচুর আরকিজিআইএস ডেস্কটপ লাইসেন্স নিয়ে রাতে অলস থাকে।


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

@ শুভ ধন্যবাদ, টিসিএস সাইটটি কী?
কर्क কুইকেনডাল

ক্রিপ্ট ক্রিপ্টিক হওয়ার জন্য দুঃখিত - আমি অলস ছিলাম। cstheory.stackexchange.com
whuber

1
বেসিক সিএস তত্ত্ব সম্ভবত সাহায্য করবে না কারণ সিএস ছেলেরা খুব কমই স্থান পায় :-)
ইয়ান টার্টন

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

উত্তর:


13
  1. আপনার সমস্ত পার্সেল একটি কেন্দ্রীয় ডাটাবেসে সংরক্ষণ করুন
  2. স্কয়ার এন পায়ে দিয়ে মার্কিন যুক্তরাষ্ট্রে একটি গ্রিড তৈরি করুন, যেখানে এন এমন যে এন এর মধ্যে ফিট হওয়া পার্সেলগুলির সংখ্যা আপনার কোনও নোডের স্মৃতি ছড়িয়ে দেবে না
  3. প্রতি গ্রিড বর্গক্ষেত্রে এক সারি, একটি আইডি কলাম একটি জ্যামিতি কলাম এবং একটি স্থিতি কলাম সহ আপনার ডাটাবেসে একটি সারণী তৈরি করুন
  4. প্রতিটি নোড একটি ছোট প্রোগ্রাম চালায় যে
    1. পরবর্তী অপ্রয়োজনীয় স্কোয়ারটি সন্ধান করুন
    2. প্রক্রিয়া হিসাবে চিহ্নিত করুন
    3. সমস্ত পার্সেলগুলি ST_DWithin (বর্গক্ষেত্র, পার্সেল, ম্যাক্সফিট) টানুন
    4. প্রকৃত জিজ্ঞাসা করে
    5. কেন্দ্রীয় ডাটাবেসে সমাধান টেবিলের ক্যোয়ারির উত্তরটি আবার লিখে দেয়
    6. বর্গটি সম্পূর্ণ হিসাবে চিহ্নিত করে
    7. 1 এ ফিরে যান

স্পষ্ট ব্যর্থতার বিষয়টি হ'ল পার্সেল ক্যোয়ারিতে আপনার ব্যাসার্ধের আগ্রহটি এত বড় হয় যে আপনার ডেটাসেটের বড় অংশগুলি প্রতিটি পার্সেলের সাথে মেলে এমন সম্ভাব্য প্রার্থী।


ধন্যবাদ পল, অন্যান্য নোডের সমন্বয়কারী হিসাবে অভিনয় করার জন্য আমার কি একটি নোডের প্রয়োজন হবে?
কर्क কুইকেনডাল

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

7

বার্সেলোনায় সেপ্টেম্বরে এফএসএস 4 জি নিয়ে একটি আকর্ষণীয় স্লট ছিল: http://2010.foss4g.org/preferencesations_show.php?id=3584

এটি উপস্থাপনার চেয়ে বেশি প্যানেল আলোচনায় পরিণত হয়েছিল।

এই ব্লগ পোস্টের মাঝামাঝি সময়ে পল রামসে সেখান থেকে কিছুটা সংক্ষিপ্তসার দেয়।


এটি আশাব্যঞ্জক বলে মনে হচ্ছে, তারা কি উপস্থাপনাটি কোথাও পোস্ট করেছে?
কर्क কুইকেনডাল

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

4

এ: হয়তো সাদা কাগজ "লার্জ ব্যাচ Geocoding প্র্যাকটিস ধারাবাহিকে ArcGIS সার্ভার" কটাক্ষপাত করা esri সাদা কাগজ

এটি জিওকোডিং সম্পর্কিত তবে একটি অ্যাসিনক্রোনাস জিওপ্রসেসিং পরিষেবা ব্যবহারের সাধারণ প্রক্রিয়া আপনার ক্ষেত্রে প্রযোজ্য।


দেখতে দুর্দান্ত লাগছে, আমি ভাবছি যদি এটি জিওপ্রোসেসিংয়ের অন্য রূপগুলিতে সাধারণীকরণ করা যায়। মনে হচ্ছে যদিও আমার ডেটাসেটের মধ্যে আমার ওভারল্যাপ দরকার।
কर्क কুইকেনডাল

3

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

X $ / একর এর বেশি মূল্যবান সমস্ত পার্সেল সন্ধান করুন যা অন্য পার্সেলের y ফিট এর মধ্যে রয়েছে যা z $ / একরের চেয়ে কম মূল্যবান।

foreach p in parcels {
  if value(p) > x {
    foreach q in parcels {
      if (dist(p,q) <= y) and (value(q) < z) {
        emit(p)
      }
    }
  }
}

এই অ্যালগরিদমটি অনুকূলিত না হলেও এটি সমস্যার সমাধান করবে।

আমি আমার মাস্টার্স থিসিসের জন্য একই ধরণের সমস্যার সমাধান করেছি যা একটি ডেটাসেটের প্রতিটি পয়েন্টের জন্য নিকটতম পার্সেলটি পেয়েছিল। আমি সমাধান বাস্তবায়িত PostGIS , Hadoop এর , এবং MPI । আমার থিসিসের সম্পূর্ণ সংস্করণটি এখানে রয়েছে , তবে আমি এই বিষয়টির ক্ষেত্রে প্রযোজ্য হিসাবে গুরুত্বপূর্ণ পয়েন্টগুলি সংক্ষিপ্ত করব।

এই সমস্যাটি সমাধান করার জন্য ম্যাপ্রেডিউস একটি ভাল প্ল্যাটফর্ম নয় কারণ এটি একটি পাপ gle পার্সেল প্রক্রিয়া করার জন্য সম্পূর্ণ ডেটাসেট (বা একটি সাবধানে নির্বাচিত সাবসেট) অ্যাক্সেস প্রয়োজন। মানচিত্রে মাধ্যমিক ডেটাসেটগুলি ভালভাবে পরিচালনা করে না।

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

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

প্রক্রিয়াটি পার্সেলগুলির 1/50 তম সেট থেকে পি জন্য পার্সেল এবং 1/8 তম সেট থেকে Q এর জন্য পার্সেলগুলি পাবে, অ্যালগরিদম কার্যকর করবে। অভ্যন্তরীণ লুপের পরে, পার্সেলটি নির্গমন করা উচিত কিনা তা নির্ধারণ করতে একই কম্পিউটারে সমস্ত প্রক্রিয়া একসাথে কথা বলবে।

আমি আমার সমস্যার জন্য এটির সাথে একটি অনুরূপ অ্যালগরিদম প্রয়োগ করেছি। আপনি এখানে উত্স খুঁজে পেতে পারেন ।

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


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


2

পুরাতন স্কুল সমান্তরাল প্রোগ্রামিং পদ্ধতিটি কেবল একটি স্টেট + সংরক্ষণ করা যা পার্সেলগুলি প্রতিটি প্রসেসরের উপর এটি স্পর্শ করে তবে এটি সমান্তরালে বিব্রতকরভাবে সহজ। তবে মার্কিন যুক্তরাষ্ট্রের আকারের প্রকরণের পরিবর্তনে আপনি দেশকে গ্রিড কোষে বিভক্ত করে (আবার পার্সেলের স্পর্শকৃত হলোর সাহায্যে) এবং মাস্টার স্লেভ কনফিগারেশন ব্যবহার করে প্রতিটি গ্রিড সেল প্রসেসরে প্রেরণ করে আরও ভাল পারফরম্যান্স পেতে পারেন।


স্পর্শ করা পার্সেলগুলির পরিবর্তে, আমার দূরত্বের মধ্যে সংলগ্ন রাজ্যগুলি থেকে পার্সেলগুলি লাগবে।
কર્ક কুইকেনডাল

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

2

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


ধন্যবাদ ম্যাট, এটি আশাব্যঞ্জক দেখাচ্ছে না। গুগলিং আমি এই উপস্থাপনাটি ফেডইউসি ২০০৮ এর প্রক্রিয়াকরণ থেকে পেয়েছি .esri.com/library/userconf/feduc08/papers/… আমি তখন থেকেই তারা কী করেছে তার একটি আপডেট দেখতে আগ্রহী।
কर्क কুইকেনডাল

2

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

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

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

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

আপনি যদি "বিব্রতকরভাবে সমান্তরাল" কার্যগুলির জন্য একটি সহজ স্থাপত্য চান তবে ক্লাউড আইকিউ ইঞ্জিনটিও দেখুন। (কার্ক উল্লেখ করা কাগজে বর্ণিত পদ্ধতিগুলি এখনও বৈধ)


1

ওজিএসএ-ডিকিউপি দেখুন। "ডিকিউপি একাধিক বিতরণযোগ্য রিলেশনাল ডাটাবেসগুলির টেবিলগুলি এসকিউএল ব্যবহার করে জিজ্ঞাসা করার অনুমতি দেয়, যেন একক ডাটাবেসে একাধিক সারণী থাকে" http://ogsa-dai.sourceforge.net/docamentation/ogsadai4.0/ogsadai4.0- অক্ষ / DQPOverview.html

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.