Compiler and Runtime Techniques for Automatic Parallelization of Sequential Applications

Multicore designs have emerged as the mainstream design paradigm for the microprocessor industry. Unfortunately, providing multiple cores does not directly translate into performance for most applications. An attractive approach for exploiting multiple cores is to rely on tools, both compilers and r...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Mehrara, Mojtaba
Format: Dissertation
Sprache:Englisch
Veröffentlicht: ProQuest Dissertations & Theses 01.01.2011
Schlagworte:
ISBN:1124912479, 9781124912479
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Multicore designs have emerged as the mainstream design paradigm for the microprocessor industry. Unfortunately, providing multiple cores does not directly translate into performance for most applications. An attractive approach for exploiting multiple cores is to rely on tools, both compilers and runtime optimizers, to automatically extract threads from sequential applications. This dissertation tackles many challenges faced in automatic parallelization of sequential applications, including general-purpose applications written in C/C++ and client-side web applications written in JavaScript, with the goal of achieving speedup on commodity multicore systems. First, a complete parallelizing compiler system for C/C++ is introduced. This system successfully identifies parallelization opportunities in programs and transforms the code to a parallel version. A matching runtime system, STMlite, is proposed to monitor the parallelized program behavior and fix any misspeculations that might happen. We show that this system can generate and execute parallel programs that are upto 2.2x faster than their sequential counterparts, when executed on an 8-core commodity system. The second piece of work focuses on a similar problem in a very different application domain, JavaScript programs running on the client's web browser. This dissertation is the first research work that proposes dynamic and automatic parallelization of JavaScript applications. The nature of the JavaScript language and its target execution environments impose a completely different set of challenges that we intend to solve. We first propose the ParaScript parallelizing engine, which identifies and speculatively parallelizes potentially parallel code segments while the code is running in the browser. A low-cost and highly customized speculation approach verifies the execution of the parallelized client-side code and rolls back in case of any misspeculation. Dynamic parallelization using ParaScript yields an average of 2.18x speedup over sequential JavaScript code on an 8-core commodity system. In addition, we introduce ParaGuard, a technique which executes the runtime checks required by trace-based JavaScript compilers in parallel with the main execution. ParaGuard is able to improve performance by 15% by using an additional core in multi-core systems.
AbstractList Multicore designs have emerged as the mainstream design paradigm for the microprocessor industry. Unfortunately, providing multiple cores does not directly translate into performance for most applications. An attractive approach for exploiting multiple cores is to rely on tools, both compilers and runtime optimizers, to automatically extract threads from sequential applications. This dissertation tackles many challenges faced in automatic parallelization of sequential applications, including general-purpose applications written in C/C++ and client-side web applications written in JavaScript, with the goal of achieving speedup on commodity multicore systems. First, a complete parallelizing compiler system for C/C++ is introduced. This system successfully identifies parallelization opportunities in programs and transforms the code to a parallel version. A matching runtime system, STMlite, is proposed to monitor the parallelized program behavior and fix any misspeculations that might happen. We show that this system can generate and execute parallel programs that are upto 2.2x faster than their sequential counterparts, when executed on an 8-core commodity system. The second piece of work focuses on a similar problem in a very different application domain, JavaScript programs running on the client's web browser. This dissertation is the first research work that proposes dynamic and automatic parallelization of JavaScript applications. The nature of the JavaScript language and its target execution environments impose a completely different set of challenges that we intend to solve. We first propose the ParaScript parallelizing engine, which identifies and speculatively parallelizes potentially parallel code segments while the code is running in the browser. A low-cost and highly customized speculation approach verifies the execution of the parallelized client-side code and rolls back in case of any misspeculation. Dynamic parallelization using ParaScript yields an average of 2.18x speedup over sequential JavaScript code on an 8-core commodity system. In addition, we introduce ParaGuard, a technique which executes the runtime checks required by trace-based JavaScript compilers in parallel with the main execution. ParaGuard is able to improve performance by 15% by using an additional core in multi-core systems.
Author Mehrara, Mojtaba
Author_xml – sequence: 1
  givenname: Mojtaba
  surname: Mehrara
  fullname: Mehrara, Mojtaba
BookMark eNotTslqxDAMNbQD7Sz_YHoPxEsWH0PoBgNT2hx6G2xHYlwcO81y6dfXXRBCPL1F2pLrEANckS1jXKrUlbohh3l2JmdclXXBq1vy3sZhdB4mqkNPX9ewuAFoB_YS3OcKM8U40WZd4qAXZ-mLnrT34N1XgjHQiPQNki7ZtKfNOHpnf5l5Tzao_QyH_7kj3cN91z5lx9Pjc9scs4sSLCtMr9BK7CuJFhFUKouygLQ0Ole5Er2plK4lGiF7jlKXwDQvDUNlMRc7cvcXO07x59_l_BHXKaSL51qVoqjKnItvd3VSCQ
ContentType Dissertation
Copyright Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
Copyright_xml – notice: Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
DBID 053
0BH
0NL
AFTDF
CBPLH
EU9
G20
M8-
OK5
PHGZT
PKEHL
PQEST
PQQKQ
PQUKI
S0W
DatabaseName Dissertations & Theses Europe Full Text: Science & Technology
ProQuest Dissertations and Theses Professional
Dissertations & Theses @ University of Michigan
DELNET Engineering & Technology Collection - hybrid linking
ProQuest Dissertations & Theses Global: The Sciences and Engineering Collection
ProQuest Dissertations & Theses A&I
ProQuest Dissertations & Theses Global
ProQuest Dissertations and Theses A&I: The Sciences and Engineering Collection
Dissertations & Theses @ Big Ten Academic Alliance
ProQuest One Academic (New)
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Academic (retired)
ProQuest One Academic UKI Edition
DELNET Engineering & Technology Collection
DatabaseTitle ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition
ProQuest Dissertations & Theses Global: The Sciences and Engineering Collection
ProQuest Dissertations and Theses Professional
ProQuest Dissertations and Theses A&I: The Sciences and Engineering Collection
ProQuest Dissertations & Theses Global
Dissertations & Theses Europe Full Text: Science & Technology
Dissertations & Theses @ University of Michigan
ProQuest One Academic UKI Edition
ProQuest DELNET Engineering and Technology Collection
Dissertations & Theses @ CIC Institutions
ProQuest One Academic
ProQuest Dissertations & Theses A&I
ProQuest One Academic (New)
DatabaseTitleList ProQuest One Academic Middle East (New)
Database_xml – sequence: 1
  dbid: G20
  name: ProQuest Dissertations & Theses Global
  url: https://www.proquest.com/pqdtglobal1
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
ExternalDocumentID 2476407911
Genre Dissertation/Thesis
GroupedDBID 053
0BD
0BH
0NL
ALMA_UNASSIGNED_HOLDINGS
CBPLH
EU9
G20
M8-
OK5
PHGZT
PKEHL
PQEST
PQQKQ
PQUKI
S0W
ID FETCH-LOGICAL-h931-5bd9fc4fd74fcffe9e9ecf45efc4ba09093db79a84fb34d2f4a6e1a26b1f9cf03
IEDL.DBID G20
ISBN 1124912479
9781124912479
IngestDate Sun Jun 29 16:33:18 EDT 2025
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-h931-5bd9fc4fd74fcffe9e9ecf45efc4ba09093db79a84fb34d2f4a6e1a26b1f9cf03
Notes SourceType-Dissertations & Theses-1
ObjectType-Dissertation/Thesis-1
content type line 12
PQID 896357602
PQPubID 18750
ParticipantIDs proquest_journals_896357602
PublicationCentury 2000
PublicationDate 20110101
PublicationDateYYYYMMDD 2011-01-01
PublicationDate_xml – month: 01
  year: 2011
  text: 20110101
  day: 01
PublicationDecade 2010
PublicationYear 2011
Publisher ProQuest Dissertations & Theses
Publisher_xml – name: ProQuest Dissertations & Theses
SSID ssib012968527
ssib000933042
Score 1.5545039
Snippet Multicore designs have emerged as the mainstream design paradigm for the microprocessor industry. Unfortunately, providing multiple cores does not directly...
SourceID proquest
SourceType Aggregation Database
SubjectTerms Computer Engineering
Computer science
Studies
Title Compiler and Runtime Techniques for Automatic Parallelization of Sequential Applications
URI https://www.proquest.com/docview/896357602
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwpV09T8MwELWgMCCG8imggDywWiSOE-cmVAGFAVUVdOhW-VMglaQkLb8fO3WqSkgsKMlgZ4nO8rs73-U9hG5oImPl_DxRmmvCZBqTPJWMyFhEacRERk3DM_vCh8N8MoFR6M2pQ1tli4kNUOtS-TPy2xw8c1oW0bv5F_GiUb64GhQ0ttGOD2w8df7TZvSzStbbsfNsWZ5S3ugFuazDPRwC69N6_AuSGz8z6P7zCw_Q_sNGff0QbZniCHVb5QYcNvIxmvgphwcVFoXGr14u4tPgccvnWmMXyuL-clE2hK54JCovuTIL_2zi0uK3pgXbwcMM9zdq4CdoPHgc3z-ToLFA3iGJSSo1WMWs5swqaw24S1mWGjcpRQTOhFpyEDmzMmGaWrd6JhY0k7EFZaPkFHWKsjBnCLs4x0Y6UQASGLjEGkysIQeuGfUUPueo15ptGvZJPV3b7OLPtz20tzrL9fcl6iyqpblCu-p78VFX182q_wCYfLcm
linkProvider ProQuest
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw1V1LS8NAEB5qFRQP9YlaH3vQYzDZbJrdg0ix1pbWUjSH3kr2hUJNtA_F_-SPdDdNSkHw5kGSHHYDIcks3-zMzn4fwDn2uSeMn3eEDKVDeOA5NODE4V7sBi6Ja1hlPLPdsNejgwHrl-Cr2AtjyyoLTMyAWqbC5sgvKbPMaTUXX7--OVY0yi6uFgoa81HRUZ8fJmKbXLUbxrwXGDdvo5uWk4sKOE_M95yAS6YF0TIkWmitmDmEJoEynTx2mQnwJQ9ZTInmPpFYm9dVXoxr3NNMaNc3j12BVeKHni0gvFuebM1zA0XbONIaDXCYyROZIMdcIctJphbtHx4gc2vNyv_6IVuw2ViqHtiGkkp2oFLoUqAcpnZhYLsM2o1RnEj0YMUwXhSKCrbaCTITdVSfTdOMrhb147EVlBnlO1JRqtFjVmBuwG-E6ksr_HsQ_cW37UM5SRN1AMjM4rQrfcEYZ4RRSpnyJKMslARbgqJDqBZWGuYoMBkuTHT0690zWG9F991ht93rVGFjnrW25zGUp-OZOoE18T59noxPswGHYPjH9vwG4DoYbA
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adissertation&rft.genre=dissertation&rft.title=Compiler+and+Runtime+Techniques+for+Automatic+Parallelization+of+Sequential+Applications&rft.DBID=053%3B0BH%3B0NL%3BAFTDF%3BCBPLH%3BEU9%3BG20%3BM8-%3BOK5%3BPHGZT%3BPKEHL%3BPQEST%3BPQQKQ%3BPQUKI%3BS0W&rft.PQPubID=18750&rft.au=Mehrara%2C+Mojtaba&rft.date=2011-01-01&rft.pub=ProQuest+Dissertations+%26+Theses&rft.isbn=1124912479&rft.externalDBID=HAS_PDF_LINK&rft.externalDocID=2476407911
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781124912479/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781124912479/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781124912479/sc.gif&client=summon&freeimage=true