Rewind sanal makinesi zamanı koşullu dallanmalarla ölçüyor
Öne çıkanlar
- Rewind, tamamlanan her koşullu dallanma işlemi için saati bir nanosaniye ilerletiyor.
- Donanım kesintileri toplam komut sayısını saptırırken koşullu dallanma sayısını değiştirmedi.
- Yeni sayaç saati yaklaşımı Rewind sanal makinesinde varsayılan zaman modeli oldu.
Deterministik sanal makine Rewind'ın geliştiricisi, sistemin tekrar oynatma işlemlerinde tutarlı kararlar alabilmesi için zamanı koşullu dallanma sayaçlarıyla ölçen yeni bir mekanizma kurdu. Ana bilgisayarın duvar saati zamanı işlemci frekansı, önbellek ve arka plan yükleri nedeniyle değiştiğinden sanal makine içinde güvenilir bir zaman kaynağı sunamıyor. Bu sorunu çözmek için geliştirilen sayaç saati yaklaşımı, misafir sistemin tamamladığı her koşullu dallanma işlemi için saati bir nanosaniye ileri alıyor.
Sistemde daha önce kullanılan çıkış saati yöntemi, zamanı yalnızca sistem çağrısı gibi misafir çıkışlarında beş mikrosaniye ilerletiyordu. Bu durum, iki sistem çağrısı arasında yoğun işlemci yükü altında çalışan yazılımların harcadığı süreyi sanal makineye yansıtmıyordu. Yapılan testlerde toplam komut sayacının donanım kesintileri ve sayfa hataları yüzünden her çalıştırmada saptığı, buna karşılık koşullu dallanma sayaçlarının dış kesintilerden etkilenmeyerek tam olarak bir milyar değerini koruduğu gözlemlendi.
Gerçekçi bir zaman modeli sunulmadığında zaman aşımı testlerinin her zaman başarılı olması ve iş parçacığı yarış durumlarının doğallıktan uzaklaşması gibi sorunlar ortaya çıkıyor. Rewind projesinde varsayılan hale getirilen koşullu dallanma tabanlı deterministik saat, gerçek dünya hatalarını sanal makine içinde aslına uygun biçimde yeniden üretmeyi mümkün kılıyor.
Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.