<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="static/style.xsl"?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-03-12T07:18:38Z</responseDate><request verb="GetRecord" identifier="oai:uvadoc.uva.es:10324/70095" metadataPrefix="marc">https://uvadoc.uva.es/oai/request</request><GetRecord><record><header><identifier>oai:uvadoc.uva.es:10324/70095</identifier><datestamp>2025-09-30T07:06:52Z</datestamp><setSpec>com_10324_1165</setSpec><setSpec>com_10324_931</setSpec><setSpec>com_10324_894</setSpec><setSpec>col_10324_1335</setSpec></header><metadata><record xmlns="http://www.loc.gov/MARC21/slim" xmlns:doc="http://www.lyncode.com/xoai" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dcterms="http://purl.org/dc/terms/" xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd">
<leader>00925njm 22002777a 4500</leader>
<datafield tag="042" ind1=" " ind2=" ">
<subfield code="a">dc</subfield>
</datafield>
<datafield tag="720" ind1=" " ind2=" ">
<subfield code="a">Estebanez, Alvaro</subfield>
<subfield code="e">author</subfield>
</datafield>
<datafield tag="720" ind1=" " ind2=" ">
<subfield code="a">Llanos Ferraris, Diego Rafael</subfield>
<subfield code="e">author</subfield>
</datafield>
<datafield tag="720" ind1=" " ind2=" ">
<subfield code="a">Orden, David</subfield>
<subfield code="e">author</subfield>
</datafield>
<datafield tag="720" ind1=" " ind2=" ">
<subfield code="a">Palop del Río, Belén</subfield>
<subfield code="e">author</subfield>
</datafield>
<datafield tag="260" ind1=" " ind2=" ">
<subfield code="c">2022</subfield>
</datafield>
<datafield tag="520" ind1=" " ind2=" ">
<subfield code="a">Loops are a rich source of parallelism. Unfortunately, many loops cannot be safely parallelized at compile time because the compiler is not able to guarantee that there will be no dependence violations. Thread-Level Speculation (TLS) techniques, either hardware or software-based, allow the parallel execution of non-analyzable loops, issuing the execution of blocks of consecutive iterations (called chunks) while a hardware or software monitor ensures that no dependence violations arise. If such a dependence violation occurs, the chunk that was fed with incorrect values is discarded and re-started, in order to consume the correct information. In the speculative execution of non-analyzable loops, it is very important to correctly choose the chunk size, because this choice dramatically affects the performance of the parallel execution. Bigger chunks imply less scheduling overheads, but smaller chunks allow fewer calculations to be discarded in the event of a dependence violation. To find a good chunk size is not a simple task, because loops may present dependencies that cannot be detected at compile time. In this paper, we present a comprehensive evaluation of different scheduling methods to estimate the optimal chunk size in the speculative execution of non-analyzable loops. This evaluation ranges from the simple, classical methods originally devised to achieve load balancing in loops with no dependencies, to methods that make some assumptions on the distribution pattern of dependencies, such as Meseta and Just-in-Time scheduling. We also propose and evaluate a general, more complex method called Moody Scheduling, that does not require a-priori assumptions to achieve the highest performance.</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">PLOS One, may 2022, ISSN 1932-6203.</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">1932-6203</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">https://uvadoc.uva.es/handle/10324/70095</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">10.1371/journal.pone.0267602</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">e0267602</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">5</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">PLOS ONE</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">17</subfield>
</datafield>
<datafield tag="024" ind2=" " ind1="8">
<subfield code="a">1932-6203</subfield>
</datafield>
<datafield ind1=" " ind2=" " tag="653">
<subfield code="a">Informática</subfield>
</datafield>
<datafield tag="245" ind1="0" ind2="0">
<subfield code="a">On the choice of the best chunk size for the speculative execution of loops</subfield>
</datafield>
</record></metadata></record></GetRecord></OAI-PMH>