Ho alcune implementazioni di store di valore chiave simultanee che sono implementate con tabelle hash e alberi di ricerca che vorrei confrontare. Mi piacerebbe confrontarli con un'applicazione reale in cui diversi thread sottolineano i punti vendita chiave.
Ho già un micro-benchmark che sottolinea gli archivi di valori-chiave eseguendo operazioni casuali sugli archivi di valori-chiave in parallelo. Ciò che mi interessa di più sono le applicazioni che svolgono un lavoro che potrebbe essere utile nel "mondo reale" e in cui uno o più negozi di valore-chiave sono importanti per la scalabilità e la velocità. Mi piacerebbe avere un benchmark facile da configurare e che possa essere eseguito su molti sistemi diversi. Preferirei se non implicasse la comunicazione di rete ecc.
Un esempio del tipo di applicazioni che sto cercando è l'algoritmo PageRank parallelo. È utilizzato come punto di riferimento di diversi negozi di valore-chiave nel documento "Concorrente con snapshot efficienti non bloccanti ( PPoPP'12) ".
I motivi per cui non sono soddisfatto con benchmark "artificiali" che inseriscono X%, eliminazioni Y% e ricerche% Z sono:
- Può essere più convincente con un benchmark che risolve anche un problema del mondo reale. Il rischio con un benchmark "artificiale" è che potrebbero non corrispondere ad alcuna situazione del mondo reale.
- Alcuni scenari di utilizzo che si verificano frequentemente in applicazioni del mondo reale potrebbero non essere coperti dal benchmark artificiale.