উইন্ডোজ (ডাব্লুএসএল) উবুন্টুতে খাঁটি উবুন্টু সম্পর্কিত সিমুলেশন চালানো


15

নিম্নলিখিত দুটি পরিস্থিতিতে একই কম্পিউটারে একটি বৃহত সিএই সিমুলেশন পরীক্ষা করার বিষয়ে আমি একটি প্রশ্ন জিজ্ঞাসা করতে চাই ।

  1. খাঁটি উবুন্টু সিস্টেম
  2. উইন্ডোজ 10 (ডাব্লুএসএল) এ উবুন্টু সিস্টেম

উভয় ক্ষেত্রে গণনার গতি কি প্রায় একই বা এগুলি আলাদা?


4
সিমুলেশনটির প্রকৃতি না জেনে উত্তর দেওয়া অসম্ভব।
মুড়ু

1
@muru: এটা নয় যে অস্পষ্ট। একটি "সিমুলেশন" সম্ভবত গণনাভিত্তিক নিবিড় ব্যাকগ্রাউন্ড কাজ, যা এটি সিপিইউ বা মেমরির সাথে সীমাবদ্ধ করে তোলে। (ডিস্ক বা নেটওয়ার্ক I / O এছাড়াও একটি বাধা হতে পারে, তবে এটি এমন কিছু লোক যা এড়ানো প্রোগ্রামগুলি এড়ানো ঝোঁক, এবং কিছু আধুনিক সিমুলেশন কোড এমনকি জিপিইউকে সমান্তরাল গণনার জন্য ব্যবহার করতে পারে)) সহজেই খুব সহজেই একটি বেঞ্চমার্ক লিখতে (বা ডাউনলোড) করা যায় One যা এই 2 থেকে 5 টি সম্ভাব্য বাধাগুলি পরীক্ষা করে এবং ডাব্লুএসএল এবং নেটিভ উবুন্টুর মধ্যে কারওর জন্য কোনও উল্লেখযোগ্য পার্থক্য রয়েছে কিনা তা পরীক্ষা করে। আমি এটি করব, তবে আমার কাছে ডাব্লুএসএল (বা উইন্ডোজ 10) উপলব্ধ নেই।
ইলমারি করোনেন

3
@ ইলমারিকারোনেন "সম্ভবত"। ডেটা উপর নির্ভর করে crunched আনুন, এটি ঠিক পাশাপাশি সিপিইউ আবদ্ধ এমনকি আইও নিবিড় হতে পারে। এবং আপনার মন্তব্য বাকী এটি বন্ধ করার জন্য বেশ ভাল কারণ - আমাদের এখানে কোনও বাধা-বিপত্তি কী কী সম্ভাবনা রয়েছে তা সম্পর্কে কোনও ধারণা নেই।
মুড়ু

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

@ মুরু, এটি সিএই সিমুলেশন (আবাকাস সিএই)।
এবিসিডিএমএম

উত্তর:


18

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

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

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

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


*) ২০১০ সালের এই এমএসডিএন ব্লগ পোস্ট অনুসারে , ডাব্লুএসএলে দুটি ফাইলসিস্টেম ইন্টারফেস উপাদান রয়েছে: ভলফস, যা এনটিএফএসের মাধ্যমে নেটিভ লিনাক্স ফাইল সিস্টেমেটিকসকে ঘনিষ্ঠভাবে অনুকরণ করে এবং উদাহরণস্বরূপ মাউন্ট করতে ব্যবহৃত হয় /এবং /homeএবং ডিআরভিএফস, যা বেশিরভাগ উইন্ডোজ-এর মতো শব্দার্থবিজ্ঞান সরবরাহ করে এবং হোস্ট উইন্ডোজ ড্রাইভগুলি /mnt/cইত্যাদির মাধ্যমে অ্যাক্সেসের জন্য ব্যবহৃত হয় যদি আপনার সফ্টওয়্যারটিতে বিশেষত একই ফাইলের একাধিক হার্ড লিঙ্কগুলির মতো নেটিভ লিনাক্স ফাইল সিস্টেমের বৈশিষ্ট্যগুলির প্রয়োজন না হয় তবে এটি কোনও ডিভিএফএস ফোল্ডারে তার ডেটা ফাইলগুলি সংরক্ষণ করার জন্য কনফিগার করে ফাইল অ্যাক্সেসের কার্যকারিতা উন্নত করতে পারে WSL।

**) মে ২০১ from থেকে এই রেডডিট থ্রেড অনুসারে , ডাব্লুএসএলে "tmpfs বর্তমানে ডিস্ক ব্যবহার করে অনুকরণ করা হয়"। গত বছরের তুলনায় কিছু পরিবর্তিত না হলে, সম্ভবত এটির অর্থ হ'ল ডাব্লুএসএলে টিএমপিএফ ব্যবহার করা কোনও সাধারণ অন-ডিস্ক ফাইল সিস্টেম ব্যবহার করার ফলে কোনও কার্যকারিতা সুবিধা দেয় না।


সম্ভবত কেবলমাত্র প্যারামিটারগুলির -O3 -march=haswellসাথেই নয়, সংকলক বিকল্পগুলি (উদাহরণস্বরূপ বা কিছু। আমি জানি না যে ক্লিয়ার লিনাক্স আসলে তাদের কার্নেলগুলি তৈরি করতে কী ব্যবহার করে, তবে সম্ভবত বিএমআই 2 / popcnt/ যা গ্লিবসি এবং কার্নেলের মধ্যে একটি পরিমাপযোগ্য পার্থক্য করতে পারে ((কার্নেল জিতেছে যদিও অ্যাভিএক্স থেকে কোনও লাভ হবে না, কারণ কার্নেলটি সফ্টওয়্যার-RAID5 / 6 ত্রুটি-সংশোধন ডেটার মতো নির্দিষ্ট কোড ব্যতীত এফপিইউ রেজিস্টারগুলিকে স্পর্শ করা এড়ায়))
পিটার কর্ডেস

12

উইন্ডোতে উবুন্টু (ডাব্লুএসএল - 2017 ফল ক্রিয়েটর আপডেট) লিনাক্স পরিবেশে "বিশুদ্ধ" উবুন্টুর চেয়ে অবশ্যই ধীর।

উদাহরণস্বরূপ, স্ক্রিন পেইন্টিং উইন্ডোজ 10 বনাম উবুন্টু 16.04 এর তুলনায় অনেকগুণ বেশি সময় নেয়, অর্থাত আপনি উইন্ডোজ 10 এ কার্সারটি সরানো দেখতে পাবেন:

ডাব্লুএসএল বাশ স্টার্টআপ.gif

ডাব্লুএসএল বাশ স্প্ল্যাশ স্ক্রিনটি আঁকাতে এটি প্রায় 5 সেকেন্ড সময় নেয়। তুলনা করে এটি উবুন্টু 16.04 এ একই স্প্ল্যাশ স্ক্রিনের জন্য প্রায় 1 1/2 সেকেন্ড:

উবুন্টু টার্মিনাল splash.gif


সিপিইউ বেঞ্চমার্কিং

প্রথম বিভাগটি দেখায় যে ধীরে ধীরে স্ক্রিন I / O তবে সিপিইউ বেঞ্চমার্কিংয়ের কী?

এই জিজ্ঞাসা উবুন্টু প্রশ্নোত্তর থেকে: লিনাক্সের সিপিইউ বেঞ্চমার্কিং ইউটিলিটি , আমি লিনাক্স এবং উইন্ডোতে উবুন্টু 16.04 এ পরীক্ষা করেছিলাম। লিনাক্সে উইন্ডোজ 10 সংস্করণে প্রায় 24 সেকেন্ডে 1709 প্রায় 31 সেকেন্ড। লিনাক্স 6 সেকেন্ড দ্রুত বা প্রায় 25% দ্রুত। তবে আমি সবেমাত্র উইন্ডোজ 10 কে সংস্করণ 1803 (রেডস্টোন 4 ওরফে স্প্রিং ক্রিয়েটর্স এপ্রিল 2018 আপডেট) এ আপগ্রেড করেছি এবং এটি 24 সেকেন্ড সময় নিয়েছে যা লিনাক্সের সমান।

লিনাক্সে উবুন্টু 16.04

$ sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          23.5065s
    total number of events:              10000
    total time taken by event execution: 23.5049
    per-request statistics:
         min:                                  2.13ms
         avg:                                  2.35ms
         max:                                  8.52ms
         approx.  95 percentile:               2.76ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   23.5049/0.00

উইন্ডোজ 10 বিল্ড 1709 এ উবুন্টু 16.04

$ sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          30.5350s
    total number of events:              10000
    total time taken by event execution: 30.5231
    per-request statistics:
         min:                                  2.37ms
         avg:                                  3.05ms
         max:                                  6.21ms
         approx.  95 percentile:               4.01ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   30.5231/0.00

উইন্ডোজ 10 বিল্ড 1803 এ উবুন্টু 16.04

$ sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          23.7223s
    total number of events:              10000
    total time taken by event execution: 23.7155
    per-request statistics:
         min:                                  2.21ms
         avg:                                  2.37ms
         max:                                  4.53ms
         approx.  95 percentile:               2.73ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   23.7155/0.00

দ্রষ্টব্য: 2018 এর জন্য উইন্ডোজ 10 স্প্রিং আপডেট (ডাবড রেডস্টোন 4 ) 9 ই মে (4 দিন আগে) প্রকাশ পেয়েছে এবং উন্নতিগুলি যাচাই করার জন্য আমি শীঘ্রই এটি ইনস্টল করব। সন্দেহ নেই অনেক আছে। আমি যে আগ্রহের বিষয়ে জানি তা হ'ল cronস্টার্টআপে কাজ চালানোর দক্ষতা । আমার প্রয়োজনটি স্বয়ংক্রিয় দৈনিক ব্যাকআপগুলির জন্য gmail.com এ।

দ্রষ্টব্য 2: আমি সবেমাত্র উইন্ডোজ 10 বিল্ড 1803 ইনস্টল করেছি (এপ্রিল 2018 স্প্রিং ক্রিয়েটার্স আপডেট এ কেএ রেডস্টোন 4) এবং স্ক্রিন পেইন্টিংটি অনেক দ্রুত। বাশ স্প্ল্যাশ স্ক্রিনটি প্রদর্শন করতে এখন এটি 5 সেকেন্ডের পরিবর্তে মাত্র 3 সেকেন্ড। সিপিইউ বেঞ্চমার্ক এখন লিনাক্সের সমান।


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

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

"লিনাক্সে উবুন্টু" বলতে কী বোঝ?
জন বেন্টলে

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

2
@ WinEunuuchs2Unix আমি যা দেখতে পাচ্ছি সেগুলি থেকে খুব সামান্য সংকলন রয়েছে। তবে প্রচুর আই / ও: কোথাও থেকে আবহাওয়া আনয়ন, তারিখ এবং সময় পড়া এবং এটি কোনও ফর্ম্যাটে মুদ্রণ করা, সিস্টেমের তথ্য পড়া ইত্যাদি Any যাইহোক, আপনি কি কখনও আবাকাক্স ব্যবহার করেছেন? আপনি যেমন সিমুলেশনটিকে বাধ্য না করেন প্রকৃত সিমুলেশন চলাকালীন এটির মতো সিমুলেশন সফটওয়্যার বা আনসিস বা সিমুলিঙ্ক স্ক্রিন I / O আবদ্ধ হয় না । সম্পন্ন সিমুলেশনের উপর নির্ভর করে স্রেফ শেষ ফলাফলগুলি প্রদর্শন করা এগুলির পক্ষে পুরোপুরি সম্ভব।
মুরু

7

এটি সম্পর্কে চিন্তা করুন - ডাব্লুএসএল-এ আপনার কম্পিউটার পুরো গ্রাফিকাল উইন্ডোজ সিস্টেম (যা প্রথম স্থানে একটি ভয়াবহ সংস্থান হগ) এবং উবুন্টু সাবসিস্টেম চালাচ্ছে। নেটিভ উবুন্টুতে এটি কেবল উবুন্টু চলছে।


1
@ জিমডিডলক আমি সত্যিই মনে করি না যে এটি ডেস্কটপটিকে হত্যা করে, এটি কেবল এটি প্রদর্শন করে না। প্রতিটি গুই অ্যাপটি এখনও পটভূমিতে চলছে, তাই না?
এরিক ডুমিনিল

2
উইন্ডোজ জিইউআই কিছু মেমরি গ্রাস করে, তবে কিছু না করার সময় খুব বেশি সিপিইউ ব্যবহার করে না। আমি দেখছি না কেন এর কোনও উল্লেখযোগ্য প্রভাব থাকবে?
ভিডারলো

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

2
@ মিশেল এরিক অবারলিন: অন্য ভিটি-তে পরিবর্তন করা রানলেভলে প্রভাব ফেলবে না! এটি ঠিক যে পাঠ্য কনসোলগুলি এখনও একটি রানলেভেলে পাওয়া যায় যা জিডিএম শুরু করে। (এবং বিটিডাব্লু, রানলেভেলগুলি মূলত অতীতের একটি বিষয়; systemdসিসভির মতো কাজ করে না init। এই মন্তব্যের আগের অংশটি ভান করে যে আপনি একটি পুরানো-স্কুল initসেটআপের সাথে 5 বা 10 বছরের পুরানো লিনাক্স ডিস্ট্রো চালিয়ে যাচ্ছেন ।) তবে হ্যাঁ , আপনার এক্স সেশন থেকে লগ আউট এবং এক্স 11 / জিডিএম বন্ধ করা সংস্থানগুলি মুক্ত করবে, বিশেষত আপনার যদি অদলবদল নেই, বা আপনার ডেস্কটপে ক্র্যাপ রয়েছে যা "নিষ্ক্রিয়" হয়ে গেলেও প্রায়শই জাগ্রত হয়।
পিটার কর্ডেস

1
@ মিশেল এরিক ওবারলিন: আপনার মন্তব্যটি বেশ সহজ। আপনি দয়া করে এটি মুছে ফেলার বিবেচনা করবেন?
এরিক ডুমিনিল

1

এটি বিশেষত আপনার সিমুলেশনকে প্রভাবিত করবে কিনা তা আমি জানি না, তবে এটি হতে পারে:

ডাব্লুএসএল শেয়ার করা মেমরির জন্য র‌্যাম ব্যবহার করে না ! এটি ডিস্ক ব্যবহার করে!

এর অর্থ, যদি আপনার সিমুলেশন শেয়ার্ড মেমরি ব্যবহার করে (মনে করুন /dev/shm), এটি ধীর হতে পারে এবং / অথবা আপনার স্টোরেজ ডিভাইসটি পরিধান করতে পারে! এবং পারফরম্যান্স পেনাল্টিটি বেশ কয়েকটি স্তর থেকে আসে :

  • ফাইল সিস্টেম ড্রাইভার

  • স্টোরেজ ড্রাইভার

  • স্টোরেজ মাধ্যম

তবে যদি এটি এটি না করে, তবে পারফরম্যান্সটি খালি-ধাতব উবুন্টু (যেমন অন্যরা উল্লেখ করেছেন যে অন্য কোনও আই / ওকে ধরে না রেখে) এর মতো হওয়া উচিত।


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