Using Pre-Execution and Helper Threads for Speeding Up Data Intensive Applications.

Saved in:
Bibliographic Details
Title: Using Pre-Execution and Helper Threads for Speeding Up Data Intensive Applications.
Authors: Dudás, Ákos1 akos.dudas@aut.bme.hu, Juhász, Sándor1 juhasz.sandor@aut.bme.hu
Source: Proceedings of the World Congress on Engineering 2011 Volume I. 2011, p329-334. 6p.
Subjects: Central processing units, Threads (Computer programs), Computer software, Computer storage devices
Abstract: Pre-execution is a new technique used in conjunction with simultaneous multithreading or multi-core CPUs to reduce memory latency. Executing a slice of a program in a software or hardware thread ahead of the normal execution resolves memory addresses and prefetches data into the caches. By doing so the latency of memory reads is reduced in the main thread. Data intensive applications can benefit from pre-execution even if thread level parallelism is not available because of shared (software) resources. Despite the simplicity of the idea several factors have to be considered when putting this principle into practice. This paper applies and customizes pre-execution to a particular problem of hash table based data transformation and through this example provides a parameterized software preexecution algorithm which can be applied to arbitrary programs and executed on everyday hardware. The most important factor to be considered is to continuously keep an optimal temporal distance between the pre-worker and the main thread, which should be implemented with introducing minimal amount of control and communication dependencies between them. This paper presents a mechanism for attaining this goal. [ABSTRACT FROM AUTHOR]
Copyright of Proceedings of the World Congress on Engineering 2011 Volume I is the property of International Association of Engineers (IAENG) and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 83288073
AccessLevel: 6
PubType: Conference
PubTypeId: conference
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Using Pre-Execution and Helper Threads for Speeding Up Data Intensive Applications.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Dudás%2C+Ákos%22">Dudás, Ákos</searchLink><relatesTo>1</relatesTo><i> akos.dudas@aut.bme.hu</i><br /><searchLink fieldCode="AR" term="%22Juhász%2C+Sándor%22">Juhász, Sándor</searchLink><relatesTo>1</relatesTo><i> juhasz.sandor@aut.bme.hu</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Proceedings+of+the+World+Congress+on+Engineering+2011+Volume+I%22">Proceedings of the World Congress on Engineering 2011 Volume I</searchLink>. 2011, p329-334. 6p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Central+processing+units%22">Central processing units</searchLink><br /><searchLink fieldCode="DE" term="%22Threads+%28Computer+programs%29%22">Threads (Computer programs)</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software%22">Computer software</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+storage+devices%22">Computer storage devices</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Pre-execution is a new technique used in conjunction with simultaneous multithreading or multi-core CPUs to reduce memory latency. Executing a slice of a program in a software or hardware thread ahead of the normal execution resolves memory addresses and prefetches data into the caches. By doing so the latency of memory reads is reduced in the main thread. Data intensive applications can benefit from pre-execution even if thread level parallelism is not available because of shared (software) resources. Despite the simplicity of the idea several factors have to be considered when putting this principle into practice. This paper applies and customizes pre-execution to a particular problem of hash table based data transformation and through this example provides a parameterized software preexecution algorithm which can be applied to arbitrary programs and executed on everyday hardware. The most important factor to be considered is to continuously keep an optimal temporal distance between the pre-worker and the main thread, which should be implemented with introducing minimal amount of control and communication dependencies between them. This paper presents a mechanism for attaining this goal. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Proceedings of the World Congress on Engineering 2011 Volume I is the property of International Association of Engineers (IAENG) and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=83288073
RecordInfo BibRecord:
  BibEntity:
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 6
        StartPage: 329
    Subjects:
      – SubjectFull: Central processing units
        Type: general
      – SubjectFull: Threads (Computer programs)
        Type: general
      – SubjectFull: Computer software
        Type: general
      – SubjectFull: Computer storage devices
        Type: general
    Titles:
      – TitleFull: Using Pre-Execution and Helper Threads for Speeding Up Data Intensive Applications.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Dudás, Ákos
      – PersonEntity:
          Name:
            NameFull: Juhász, Sándor
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 01
              Text: 2011
              Type: published
              Y: 2011
          Identifiers:
            – Type: isbn-print
              Value: 9789881821065
          Titles:
            – TitleFull: Proceedings of the World Congress on Engineering 2011 Volume I
              Type: main
ResultId 1