A computer system uses paged memory mapping techniques to maintain
speculative data generated by concurrent execution of speculative jobs. In
some embodiments, a set of shared virtual pages is defined that stores
data that are shared by a first job and a second job. A set of shared
physical pages in the paged physical memory is also defined, wherein there
is a one-to-one correspondence between the set of shared virtual pages and
the set of shared physical pages. When a job is to generate speculative
data, a private physical page in which the data is to reside is created.
The contents of the corresponding shared physical page are copied to the
private physical page, and the speculative job's accesses are then mapped
to the private physical page instead of to the shared physical page. If
speculation fails, the private page may be discarded, and the job
restarted. If speculation succeeds, memory mapping is adjusted so that the
private page replaces the formerly shared physical page.
Un sistema di elaborazione usa la memoria paginata che traccia le tecniche per effettuare i dati speculativi generati tramite l'esecuzione simultanea dei lavori speculativi. In alcuni incorporamenti, un insieme delle pagine virtuali comuni è definito che memorizza i dati che sono ripartiti da un primo lavoro e da un secondo lavoro. Un insieme delle pagine fisiche comuni nella memoria fisica paginata inoltre è definito, in cui ci è una corrispondenza di valore univoco fra l'insieme delle pagine virtuali comuni e l'insieme delle pagine fisiche comuni. Quando un lavoro deve generare i dati speculativi, una pagina fisica riservata in cui i dati devono risedere è generata. Il contenuto della pagina fisica comune corrispondente è copiato alla pagina fisica riservata e gli accessi del lavoro speculativo allora sono tracciati alla pagina fisica riservata anziché alla pagina fisica comune. Se la speculazione viene a mancare, la pagina riservata può essere scartata ed il lavoro essere ricominciata. Se la speculazione riesce, il tracciato di memoria è registrato in modo che la pagina riservata sostituisca la pagina fisica precedentemente comune.