C'est le défi de suivi de celui-ci , si vous êtes confus, veuillez d'abord le vérifier.
Premièrement, soit le nombre de ratés du cache qu'une séquence s d'accès aux ressources aurait supposé que notre cache a la capacité k et utilise un schéma d'éjection premier entré-premier sorti (FIFO) lorsqu'il est plein.
Puis, étant donné un rapport , renvoyer une séquence non vide d'accès aux ressources s telle qu'il existe k > j avec m ( s , k ) ≥ r ⋅ m ( s , j ) .
En clair, construisez une séquence d'accès aux ressources afin qu'il y ait deux tailles de cache où le cache le plus grand a (au moins) r fois plus de cache manquant lorsqu'il est utilisé pour résoudre s .
Un exemple pour , une sortie valide est la séquence ( 3 , 2 , 1 , 0 , 3 , 2 , 4 , 3 , 2 , 1 , 0 , 4 ) , car elle provoque 9 échecs de cache pour une taille de cache de 3 , mais 10 échecs pour une taille de cache de 4 .
Peu importe la séquence que vous retournez, tant qu'elle répond aux exigences.
Le code le plus court en octets gagne.
Réponses:
Wolfram Language (Mathematica) ,
124113101 octetsEssayez-le en ligne!
REMARQUE: la sortie TIO n'est pas la liste réelle car elle serait très longue. La fonction wrapper sur TIO vous indique le nombre de défauts de page pour deux capacités de cache.
Pour la liste actuelle: Essayez-le en ligne!
Connexes: arXiv: 1003.1336
Comment?
Supposons une situation où nous avons deux capacités de cache,
3
et4
.Supposons également que
3
-cache ait{4, 2, 5}
paginé et4
-cache ait{5, 4, 3, 2}
paginé. Ensuite, essayons de paginer{1, 2, 3, 4, 5, 1, 2, 3, 4, 5}
:Le
3
-cache avait 5 défauts de page, tandis que le4
-cache en avait 10. Nous sommes également revenus à notre état d'origine.Ici, si nous répétons la pagination
{1, 2, 3, 4, 5}
, nous atteindrions asymptotiquement le rapport de2
.Nous pouvons étendre ce phénomène à des capacités de cache plus élevées afin de pouvoir paginer
{1, 2, 3, ... , 2n + 1}
et nous retrouver avec n'importe quel ratio.la source