গণনা সংজ্ঞায়িত করার পাশাপাশি, TFF তাদের কার্যকর করার জন্য সরঞ্জাম সরবরাহ করে। যেখানে প্রাথমিক ফোকাস সিমুলেশনের উপর, আমরা যে ইন্টারফেস এবং সরঞ্জামগুলি সরবরাহ করি তা আরও সাধারণ। এই দস্তাবেজটি বিভিন্ন ধরণের প্ল্যাটফর্মে স্থাপনার বিকল্পগুলির রূপরেখা দেয়৷
ওভারভিউ
TFF গণনার জন্য স্থাপনার দুটি প্রধান মোড রয়েছে:
নেটিভ ব্যাকএন্ড আমরা একটি ব্যাকএন্ডকে নেটিভ হিসাবে উল্লেখ করতে যাচ্ছি যদি এটি
computation.protoএ সংজ্ঞায়িত TFF কম্পিউটেশনের সিনট্যাকটিক কাঠামো ব্যাখ্যা করতে সক্ষম হয়। একটি নেটিভ ব্যাকএন্ড অগত্যা সমস্ত ভাষা নির্মাণ বা অন্তর্নিহিত সমর্থন করতে হবে না। নেটিভ ব্যাকএন্ডগুলিকে অবশ্যই মানসম্মত TFF এক্সিকিউটর ইন্টারফেসগুলির একটি বাস্তবায়ন করতে হবে, যেমনfederated_language.framework.ExecutorPython কোড দ্বারা ব্যবহারের জন্য, অথবা এটির ভাষা-স্বাধীন সংস্করণexecutor.protoএ সংজ্ঞায়িত করা হয়েছে gRPC এন্ডপয়েন্ট হিসেবে।নেটিভ ব্যাকএন্ড যা উপরের ইন্টারফেসগুলিকে সমর্থন করে সেগুলি ডিফল্ট রেফারেন্স রানটাইমের পরিবর্তে ইন্টারেক্টিভভাবে ব্যবহার করা যেতে পারে, যেমন, নোটবুক বা পরীক্ষামূলক স্ক্রিপ্ট চালানোর জন্য। বেশিরভাগ নেটিভ ব্যাকএন্ড ইন্টারপ্রেটেড মোডে কাজ করবে, অর্থাৎ, তারা গণনার সংজ্ঞাকে সংজ্ঞায়িত হিসাবে প্রক্রিয়া করবে, এবং এটি ক্রমবর্ধমানভাবে কার্যকর করবে, তবে এটি সর্বদা হয় না। একটি নেটিভ ব্যাকএন্ড আরও ভাল পারফরম্যান্সের জন্য বা এর গঠনকে সরল করার জন্য গণনার একটি অংশকে রূপান্তর ( কম্পাইল বা JIT-কম্পাইল) করতে পারে। এটির একটি উদাহরণ সাধারণ ব্যবহার হল ফেডারেটেড অপারেটরগুলির সেটকে হ্রাস করা যা একটি গণনায় প্রদর্শিত হয়, যাতে রূপান্তরের ব্যাকএন্ড ডাউস্ট্রিমের অংশগুলিকে সম্পূর্ণ সেটের সংস্পর্শে আসতে না হয়।
অ-নেটিভ ব্যাকএন্ড । অ-নেটিভ ব্যাকএন্ড, নেটিভ ব্যাকএন্ডের বিপরীতে, সরাসরি TFF কম্পিউটেশন স্ট্রাকচার ব্যাখ্যা করতে পারে না এবং এটিকে ব্যাকএন্ড দ্বারা বোঝা একটি ভিন্ন টার্গেট রিপ্রেজেন্টেশানে রূপান্তরিত করতে হবে। এই ধরনের ব্যাকএন্ডের একটি উল্লেখযোগ্য উদাহরণ একটি Hadoop ক্লাস্টার, বা স্ট্যাটিক ডেটা পাইপলাইনের জন্য অনুরূপ প্ল্যাটফর্ম হবে। এই ধরনের একটি ব্যাকএন্ডে একটি গণনা স্থাপন করার জন্য, এটি প্রথমে রূপান্তরিত করা আবশ্যক (বা কম্পাইল করা )। সেটআপের উপর নির্ভর করে, এটি ব্যবহারকারীর কাছে স্বচ্ছভাবে করা যেতে পারে (অর্থাৎ, একটি নন-নেটিভ ব্যাকএন্ড একটি স্ট্যান্ডার্ড এক্সিকিউটর ইন্টারফেসে মোড়ানো যেতে পারে যেমন
federated_language.framework.Executorযেটি হুডের অধীনে রূপান্তর সম্পাদন করে), অথবা এটি প্রকাশ করা যেতে পারে একটি টুল যা ব্যবহারকারীকে ম্যানুয়ালি একটি গণনা, বা গণনার একটি সেটকে নির্দিষ্ট দ্বারা বোঝা উপযুক্ত লক্ষ্য উপস্থাপনে রূপান্তর করতে দেয় ব্যাকএন্ডের শ্রেণী। নির্দিষ্ট ধরনের অ-নেটিভ ব্যাকএন্ড সমর্থন করে এমন কোডtff.backendsনামস্থানে পাওয়া যাবে। এই লেখার সময়, অ-নেটিভ ব্যাকএন্ডের একমাত্র সমর্থন প্রকার হল একক-রাউন্ড MapReduce কার্যকর করতে সক্ষম সিস্টেমের একটি শ্রেণি।
নেটিভ ব্যাকএন্ড
আরো বিস্তারিত শীঘ্রই আসছে.
অ-নেটিভ ব্যাকএন্ড
MapReduce
আরো বিস্তারিত শীঘ্রই আসছে.