ফিফো ক্যাশে অসঙ্গতি


13

এই থেকে ফলোআপ চ্যালেঞ্জ এই এক আপনি যদি প্রথম চেক করুন যে এক বিভ্রান্ত করছি।


প্রথমত, দিন হতে ক্যাশে সংখ্যা ব্যার্থ একটা ক্রম গুলি রিসোর্স ব্যবহারের আমাদের ক্যাশে অভিমানী ক্ষমতা আছে হবে এবং যখন এটি পূর্ণ একটি প্রথম-ইন-প্রথম-আউট (FIFO) বমি স্কিম ব্যবহার করে।m(s,k)sk

তারপর একটি অনুপাত দেওয়া সম্পদ ব্যবহারের একটি খালি নয় এমন ক্রম আসতে গুলি অস্তিত্ব আছে যেমন যে > সঙ্গে মি ( গুলি , ) মি ( গুলি , )r>1sk>jm(s,k)rm(s,j)

প্লেইন ইংরেজিতে, নির্মাণ একটি ক্রম রিসোর্সের তাই ব্যবহারের যে দুটি ক্যাশে মাপ যেখানে বড় ক্যাশে (অন্তত) আছে বার আরও যখন সমাধান করতে ব্যবহৃত ক্যাশে মিস গুলিsrs

উদাহরণ , একটি বৈধ আউটপুট হ'ল ক্রম ( 3 , 2 , 1 , 0 , 3 , 2 , 4 , 3 , 2 , 1 , 0 , 4 ) , কারণ এটি ক্যাশের আকারের জন্য 9 টি ক্যাশে মিস করে 3 কিন্তু 10 একটি ক্যাশে মাপ জন্য শটটি 4r=1.1(3,2,1,0,3,2,4,3,2,1,0,4)93104

আপনি যে অনুক্রমটি ফিরে আসবেন তা ততক্ষণ গুরুত্বপূর্ণ নয় যতক্ষণ না এটি প্রয়োজনীয়তা পূরণ করে।


বাইটস মধ্যে সংক্ষিপ্ত কোড।


পটভূমি পাঠ: Bélády অনিয়ম এর
dylnan

কেবল ক্লান্তি হতে পারে তবে এই চ্যালেঞ্জটি আমার কাছে সম্পূর্ণ পরিষ্কার নয় ; আপনি একটি কাজের উদাহরণ এবং আরও কয়েকটি পরীক্ষার কেস সরবরাহ করতে পারেন?
শেগি

@ শেগি গো অন্য চ্যালেঞ্জ এবং অন্যান্য মন্তব্য থেকে পটভূমি পড়ার চেষ্টা করুন। ক্রুক্সটি হ'ল কোনও ফিফোর ক্যাশে আরও কয়েকটি অনুরোধের জন্য বড় হওয়ার সাথে সাথে খারাপ হতে পারে ।
orlp

উত্তর:


7

ওল্ফ্রাম ভাষা (গণিত) , 124 113 101 বাইট

Flatten@{s=⌈2#⌉;q=Range[r=2s+1];g=Mod[q s-s,r];{Sort@g[[#+1;;]],g[[;;#]]}&~Array~r,Table[q,s^3]}&

এটি অনলাইন চেষ্টা করুন!

দ্রষ্টব্য: টিআইও আউটপুট প্রকৃত তালিকা নয় কারণ এটি খুব দীর্ঘ হবে। টিআইও-র মোড়ক ফাংশন আপনাকে দুটি ক্যাশে সক্ষমতার জন্য পৃষ্ঠা ত্রুটির সংখ্যা বলে।

আসল তালিকার জন্য: অনলাইনে চেষ্টা করে দেখুন!

সম্পর্কিত: আরএক্সিভি: 1003.1336

কিভাবে?

আসুন এমন একটি পরিস্থিতি ধরে নেওয়া যাক যেখানে আমাদের দুটি ক্যাশে ক্ষমতা রয়েছে 3এবং 4

এছাড়াও, ধরা যাক- 3ক্যাশেটি পৃষ্ঠাযুক্ত হয়েছে {4, 2, 5}, এবং 4-ক্যাচে পৃষ্ঠা রয়েছে {5, 4, 3, 2}। তারপরে, আসুন পেজিংয়ের চেষ্টা করুন {1, 2, 3, 4, 5, 1, 2, 3, 4, 5}:

page  3-cache   4-cache
      {4,2,5}  {5,4,3,2}
  1   {1,4,2}  {1,5,4,3}
  2   {1,4,2}  {2,1,5,4}
  3   {3,1,4}  {3,2,1,5}
  4   {3,1,4}  {4,3,2,1}
  5   {5,3,1}  {5,4,3,2}
  1   {5,3,1}  {1,5,4,3}
  2   {2,5,3}  {2,1,5,4}
  3   {2,5,3}  {3,2,1,5}
  4   {4,2,5}  {4,3,2,1}
  5   {4,2,5}  {5,4,3,2}

3-Cache, 5 পৃষ্ঠা ফল্ট ছিল যখন 4-cache 10. আমরা আমাদের আসল অবস্থায় ফিরে এসেছে।

এখানে, আমরা যদি পেজিংয়ের পুনরাবৃত্তি করি {1, 2, 3, 4, 5}, আমরা asympototically এর অনুপাতে পৌঁছে যাব 2

আমরা এই ঘটনাটি উচ্চতর ক্যাশে সক্ষমতায় প্রসারিত করতে পারি যাতে আমরা পৃষ্ঠাটি পেতে {1, 2, 3, ... , 2n + 1}এবং যেকোন অনুপাতের সাথে শেষ করতে পারি।

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