FIFO कैश विसंगतियों


13

यह इस एक से फॉलोअप चुनौती है , अगर आप उलझन में हैं तो कृपया जांच लें कि पहले एक बाहर।


सबसे पहले, को कैश की संख्या याद आती है, जो संसाधन एक्सेस का अनुक्रम होता है, जिससे माना जाता है कि हमारी कैश की क्षमता और यह फुल-इन-फर्स्ट-आउट (FIFO) इजेक्शन स्कीम का उपयोग करता है जब यह पूर्ण होता है।एस कश्मीरm(s,k)sk

फिर एक अनुपात को देखते हुए , संसाधनों पहुंच का एक गैर-खाली अनुक्रम लौट वहां मौजूद ऐसी है कि साथ ।रों कश्मीर > j मीटर ( रों , कश्मीर ) आर मीटर ( रों , जे )r>1sk>jm(s,k)rm(s,j)

सादे अंग्रेजी में, निर्माण एक दृश्य संसाधन के इतने तक पहुँचता है कि वहाँ दो कैश आकार जहां बड़ा कैश (कम से कम) है बार अधिक जब संकल्प करने के लिए इस्तेमाल कैश छूट जाए ।r ssrs

लिए एक उदाहरण , एक वैध आउटपुट अनुक्रम है , क्योंकि यह कैश आकार के लिए कैश मिस होने का कारण बनता है । , लेकिन कैश आकार के लिए याद करते हैं ।( 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

इससे कोई फर्क नहीं पड़ता कि आप किस क्रम पर लौटते हैं, जब तक यह आवश्यकताओं को पूरा करता है।


बाइट्स में सबसे छोटा कोड जीतता है।


बैकग्राउंड रीडिंग: बेलाडी की विसंगति
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]}&

इसे ऑनलाइन आज़माएं!

नोट: TIO आउटपुट वास्तविक सूची नहीं है क्योंकि यह बहुत लंबा होगा। TIO पर आवरण फ़ंक्शन आपको दो कैश कैपेसिटी के लिए पेज दोषों की संख्या बताता है।

वास्तविक सूची के लिए: इसे ऑनलाइन आज़माएं!

संबंधित: arXiv: 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}असमान रूप से इसके अनुपात में पहुंचेंगे 2

हम इस घटना को उच्च कैश कैपेसिटी तक बढ़ा सकते हैं ताकि हम {1, 2, 3, ... , 2n + 1}किसी भी अनुपात में पेज कर सकें और समाप्त कर सकें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.