Parallel programming with pictures is a Snap

For decades, computing speeds seemingly doubled every 24 months by increasing the processor clock speed, thus giving software a “free ride” to better performance. This free ride, however, effectively ended by the mid-2000s. With clock speeds having plateaued and computational horsepower instead incr...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Journal of parallel and distributed computing Ročník 105; s. 150 - 162
Hlavní autoři: Feng, Annette, Gardner, Mark, Feng, Wu-chun
Médium: Journal Article
Jazyk:angličtina
Vydáno: Elsevier Inc 01.07.2017
Témata:
ISSN:0743-7315, 1096-0848
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Abstract For decades, computing speeds seemingly doubled every 24 months by increasing the processor clock speed, thus giving software a “free ride” to better performance. This free ride, however, effectively ended by the mid-2000s. With clock speeds having plateaued and computational horsepower instead increasing due to increasing the number of cores per processor, the vision for parallel computing, which started more than 40 years ago, is a revolution that has now (ubiquitously) arrived. In addition to traditional supercomputing clusters, parallel computing with multiple cores can be found in desktops, laptops, and even mobile smartphones. This ubiquitous parallelism in hardware presents a major challenge: the difficulty in easily extracting parallel performance via current software abstractions. Consequently, this paper presents an approach that reduces the learning curve to parallel programming by introducing such concepts into a visual (but currently sequential) programming language called Snap!, which was inspired by MIT’s Scratch project. Furthermore, our proposed visual abstractions can automatically generate parallel code for the end user to run in parallel on a variety of platforms from personal computing devices to supercomputers. Ultimately, this work seeks to increase parallel programming literacy so that users, whether novice or experienced, may leverage a world of ubiquitous parallelism to enhance productivity in all walks of life, including the sciences, engineering, commerce, and liberal arts. •Introduction of explicit parallel-programming constructs into a picture-programming environment.•Block-based programming abstractions to reduce the learning curve to parallel programming.•Automated generation of OpenMP code from our parallel picture-programming environment.
AbstractList For decades, computing speeds seemingly doubled every 24 months by increasing the processor clock speed, thus giving software a “free ride” to better performance. This free ride, however, effectively ended by the mid-2000s. With clock speeds having plateaued and computational horsepower instead increasing due to increasing the number of cores per processor, the vision for parallel computing, which started more than 40 years ago, is a revolution that has now (ubiquitously) arrived. In addition to traditional supercomputing clusters, parallel computing with multiple cores can be found in desktops, laptops, and even mobile smartphones. This ubiquitous parallelism in hardware presents a major challenge: the difficulty in easily extracting parallel performance via current software abstractions. Consequently, this paper presents an approach that reduces the learning curve to parallel programming by introducing such concepts into a visual (but currently sequential) programming language called Snap!, which was inspired by MIT’s Scratch project. Furthermore, our proposed visual abstractions can automatically generate parallel code for the end user to run in parallel on a variety of platforms from personal computing devices to supercomputers. Ultimately, this work seeks to increase parallel programming literacy so that users, whether novice or experienced, may leverage a world of ubiquitous parallelism to enhance productivity in all walks of life, including the sciences, engineering, commerce, and liberal arts. •Introduction of explicit parallel-programming constructs into a picture-programming environment.•Block-based programming abstractions to reduce the learning curve to parallel programming.•Automated generation of OpenMP code from our parallel picture-programming environment.
Author Feng, Wu-chun
Feng, Annette
Gardner, Mark
Author_xml – sequence: 1
  givenname: Annette
  surname: Feng
  fullname: Feng, Annette
  email: afeng@vt.edu
  organization: Department of Computer Science, Virginia Tech, Blacksburg, VA, USA
– sequence: 2
  givenname: Mark
  surname: Gardner
  fullname: Gardner, Mark
  email: mkg@vt.edu
  organization: Department of Computer Science, Virginia Tech, Blacksburg, VA, USA
– sequence: 3
  givenname: Wu-chun
  surname: Feng
  fullname: Feng, Wu-chun
  email: wfeng@vt.edu
  organization: Department of Computer Science, Virginia Tech, Blacksburg, VA, USA
BookMark eNp9j11LwzAYhYNMcJv-Aa_6A2x937VJGvBGhl8wUFCvQ5qPmdK1JYmK_96OeeXF4MC5es7hWZBZP_SWkEuEAgHZdVu0o9HFCpAXgFPqEzJHECyHuqpnZA68KnNeIj0jixhbAETK6zm5elFBdZ3tsjEM26B2O99vs2-fPrLR6_QZbMx8zFT22qvxnJw61UV78ddL8n5_97Z-zDfPD0_r202uS4CUN02lK2fBUFSOCQHN9GZoSZ1glFuGzlHecG6UECvRoAamdVlxhYZxgVguyeqwq8MQY7BOjsHvVPiRCHLvK1u595V7Xwk4pZ6g-h-kfVLJD30KynfH0ZsDaiepL2-DjNrbXlvjg9VJmsEfw38BuxlyLQ
CitedBy_id crossref_primary_10_1109_TLT_2022_3190318
crossref_primary_10_3390_su15065232
crossref_primary_10_3390_app15031521
crossref_primary_10_1016_j_jpdc_2021_03_014
crossref_primary_10_1109_ACCESS_2021_3051043
crossref_primary_10_1016_j_jpdc_2018_02_021
crossref_primary_10_1109_TE_2020_3030588
crossref_primary_10_1145_3423956
crossref_primary_10_1371_journal_pone_0201919
crossref_primary_10_1109_TVCG_2025_3549567
crossref_primary_10_1007_s10723_023_09666_x
Cites_doi 10.1145/1953163.1953336
10.1145/1327452.1327492
10.1145/1592761.1592779
ContentType Journal Article
Copyright 2017 Elsevier Inc.
Copyright_xml – notice: 2017 Elsevier Inc.
DBID AAYXX
CITATION
DOI 10.1016/j.jpdc.2017.01.018
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1096-0848
EndPage 162
ExternalDocumentID 10_1016_j_jpdc_2017_01_018
S0743731517300242
GroupedDBID --K
--M
-~X
.~1
0R~
1B1
1~.
1~5
29L
4.4
457
4G.
5GY
5VS
7-5
71M
8P~
9JN
AACTN
AAEDT
AAEDW
AAIAV
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAQXK
AAXUO
AAYFN
ABBOA
ABEFU
ABFNM
ABFSI
ABJNI
ABMAC
ABTAH
ABXDB
ABYKQ
ACDAQ
ACGFS
ACNNM
ACRLP
ACZNC
ADBBV
ADEZE
ADFGL
ADHUB
ADJOM
ADMUD
ADTZH
AEBSH
AECPX
AEKER
AENEX
AFKWA
AFTJW
AGHFR
AGUBO
AGYEJ
AHHHB
AHJVU
AHZHX
AIALX
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
ASPBG
AVWKF
AXJTR
AZFZN
BJAXD
BKOJK
BLXMC
CAG
COF
CS3
DM4
DU5
E.L
EBS
EFBJH
EFLBG
EJD
EO8
EO9
EP2
EP3
F5P
FDB
FEDTE
FGOYB
FIRID
FNPLU
FYGXN
G-2
G-Q
G8K
GBLVA
GBOLZ
HLZ
HVGLF
HZ~
H~9
IHE
J1W
JJJVA
K-O
KOM
LG5
LG9
LY7
M41
MO0
N9A
O-L
O9-
OAUVE
OZT
P-8
P-9
P2P
PC.
Q38
R2-
RIG
ROL
RPZ
SBC
SDF
SDG
SDP
SES
SET
SEW
SPC
SPCBC
SST
SSV
SSZ
T5K
TN5
TWZ
WUQ
XJT
XOL
XPP
ZMT
ZU3
ZY4
~G-
~G0
9DU
AATTM
AAXKI
AAYWO
AAYXX
ABDPE
ABWVN
ACLOT
ACRPL
ACVFH
ADCNI
ADNMO
ADVLN
AEIPS
AEUPX
AFJKZ
AFPUW
AGQPQ
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
CITATION
EFKBS
~HD
ID FETCH-LOGICAL-c300t-bb4c4fe0d51af6990b011d535f9657e61ff57b77da9929b1c06cc347a1d679113
ISICitedReferencesCount 19
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000400536800015&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0743-7315
IngestDate Sat Nov 29 07:19:03 EST 2025
Tue Nov 18 20:27:40 EST 2025
Fri Feb 23 02:31:21 EST 2024
IsPeerReviewed true
IsScholarly true
Keywords Visual programming
Explicit parallel computing
Pedagogical tools
Computer science education
Block-based programming
Parallel computational patterns
Languages for PDC and HPC
Programming environments
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c300t-bb4c4fe0d51af6990b011d535f9657e61ff57b77da9929b1c06cc347a1d679113
PageCount 13
ParticipantIDs crossref_primary_10_1016_j_jpdc_2017_01_018
crossref_citationtrail_10_1016_j_jpdc_2017_01_018
elsevier_sciencedirect_doi_10_1016_j_jpdc_2017_01_018
PublicationCentury 2000
PublicationDate July 2017
2017-07-00
PublicationDateYYYYMMDD 2017-07-01
PublicationDate_xml – month: 07
  year: 2017
  text: July 2017
PublicationDecade 2010
PublicationTitle Journal of parallel and distributed computing
PublicationYear 2017
Publisher Elsevier Inc
Publisher_xml – name: Elsevier Inc
References Silberschatz, Galvin, Gagne (br000070) 2013
National Instruments, LabVIEW System Design Software. URL
B. Harvey, J. Monig, Snap! reference manual. URL
The College Board, College Board Officially Launches New AP Computer Science Principles Course to Increase Student Engagement in Computing (Dec 2014). URL
W3C, Web Workers, w3c working draft 24 september 2015. URL
Apache Software Foundation, Hadoop. URL
(Checked 2016-12-13) (Dec 2012).
Averbukh, Bakhterev (br000010) 2013; 2
Resnick, Maloney, Monroy-Hernández, Rusk, Eastmond, Brennan, Millner, Rosenbaum, Silver, Silverman (br000060) 2009; 52
The College Board, College Board and NSF Expand Partnership to Bring Computer Science Classes to High Schools Across the U.S. (June 2015). URL
J. Dean, S. Ghemawat, Mapreduce: Simplified data processing on large clusters, Communications of the ACM - 50th Anniversary Issue: 1958–2008 51, 2008, pp. 107–113.
Harvey, Garcia, Paley, Segars (br000025) 2012
.
Lee, Webber (br000040) 2003
L. Meadows, T. Mattson, A hands-on introduction to openmp (November 2008).
A. Savitzky, S. Mayr, Parallel.js. URL
S.K. Prasad, A. Chtchelkanova, F. Dehne, M. Gouda, A. Gupta, J. Jaja, K. Kant, A.L. Salle, R. LeBlanc, A. Lumsdaine, D. Padua, M. Parashar, V. Prasanna, Y. Robert, A. Rosenberg, S. Sahni, B. Shirazi, A. Sussman, C. Weems, J. Wu, Nsf/ieee-tcpp curriculum initiative on parallel and distributed computing - core topics for undergraduates, version i
E. Joseph, A. Snell, C. Willard, (July 2004). URL
Browne, Dongarra, Hyder, Moore, Newton (br000015) 1996
Harvey (10.1016/j.jpdc.2017.01.018_br000025) 2012
10.1016/j.jpdc.2017.01.018_br000050
10.1016/j.jpdc.2017.01.018_br000080
10.1016/j.jpdc.2017.01.018_br000035
10.1016/j.jpdc.2017.01.018_br000045
10.1016/j.jpdc.2017.01.018_br000055
Resnick (10.1016/j.jpdc.2017.01.018_br000060) 2009; 52
10.1016/j.jpdc.2017.01.018_br000065
10.1016/j.jpdc.2017.01.018_br000020
Lee (10.1016/j.jpdc.2017.01.018_br000040) 2003
10.1016/j.jpdc.2017.01.018_br000075
10.1016/j.jpdc.2017.01.018_br000030
10.1016/j.jpdc.2017.01.018_br000085
Browne (10.1016/j.jpdc.2017.01.018_br000015) 1996
10.1016/j.jpdc.2017.01.018_br000005
Averbukh (10.1016/j.jpdc.2017.01.018_br000010) 2013; 2
Silberschatz (10.1016/j.jpdc.2017.01.018_br000070) 2013
References_xml – reference: The College Board, College Board and NSF Expand Partnership to Bring Computer Science Classes to High Schools Across the U.S. (June 2015). URL
– reference: J. Dean, S. Ghemawat, Mapreduce: Simplified data processing on large clusters, Communications of the ACM - 50th Anniversary Issue: 1958–2008 51, 2008, pp. 107–113.
– reference: W3C, Web Workers, w3c working draft 24 september 2015. URL
– reference:  (Checked 2016-12-13) (Dec 2012).
– volume: 52
  start-page: 60
  year: 2009
  end-page: 67
  ident: br000060
  article-title: Scratch: programming for all
  publication-title: Commun. ACM
– reference: .
– volume: 2
  start-page: 126
  year: 2013
  end-page: 131
  ident: br000010
  article-title: The analysis of visual parallel programming languages
  publication-title: Adv. Comput. Sci.: Int. J.
– reference: The College Board, College Board Officially Launches New AP Computer Science Principles Course to Increase Student Engagement in Computing (Dec 2014). URL
– year: 1996
  ident: br000015
  article-title: Visual programming and parallel computing, Tech. Rep
– year: 2013
  ident: br000070
  article-title: Operating System Concepts, ninth ed.
– reference: Apache Software Foundation, Hadoop. URL
– start-page: 662
  year: 2012
  ident: br000025
  article-title: Snap!:(build your own blocks)
  publication-title: Proceedings of the 43rd ACM Technical Symposium on Computer Science Education
– reference: E. Joseph, A. Snell, C. Willard, (July 2004). URL
– reference: L. Meadows, T. Mattson, A hands-on introduction to openmp (November 2008).
– reference: S.K. Prasad, A. Chtchelkanova, F. Dehne, M. Gouda, A. Gupta, J. Jaja, K. Kant, A.L. Salle, R. LeBlanc, A. Lumsdaine, D. Padua, M. Parashar, V. Prasanna, Y. Robert, A. Rosenberg, S. Sahni, B. Shirazi, A. Sussman, C. Weems, J. Wu, Nsf/ieee-tcpp curriculum initiative on parallel and distributed computing - core topics for undergraduates, version i,
– reference: B. Harvey, J. Monig, Snap! reference manual. URL
– year: 2003
  ident: br000040
  article-title: Taxonomy for visual parallel programming languages, Tech. Rep
– reference: National Instruments, LabVIEW System Design Software. URL
– reference: A. Savitzky, S. Mayr, Parallel.js. URL
– ident: 10.1016/j.jpdc.2017.01.018_br000045
– year: 2013
  ident: 10.1016/j.jpdc.2017.01.018_br000070
– ident: 10.1016/j.jpdc.2017.01.018_br000055
  doi: 10.1145/1953163.1953336
– ident: 10.1016/j.jpdc.2017.01.018_br000075
– ident: 10.1016/j.jpdc.2017.01.018_br000020
  doi: 10.1145/1327452.1327492
– ident: 10.1016/j.jpdc.2017.01.018_br000030
– ident: 10.1016/j.jpdc.2017.01.018_br000035
– ident: 10.1016/j.jpdc.2017.01.018_br000050
– volume: 52
  start-page: 60
  issue: 11
  year: 2009
  ident: 10.1016/j.jpdc.2017.01.018_br000060
  article-title: Scratch: programming for all
  publication-title: Commun. ACM
  doi: 10.1145/1592761.1592779
– start-page: 662
  year: 2012
  ident: 10.1016/j.jpdc.2017.01.018_br000025
  article-title: Snap!:(build your own blocks)
– year: 2003
  ident: 10.1016/j.jpdc.2017.01.018_br000040
– volume: 2
  start-page: 126
  issue: 4
  year: 2013
  ident: 10.1016/j.jpdc.2017.01.018_br000010
  article-title: The analysis of visual parallel programming languages
  publication-title: Adv. Comput. Sci.: Int. J.
– ident: 10.1016/j.jpdc.2017.01.018_br000005
– year: 1996
  ident: 10.1016/j.jpdc.2017.01.018_br000015
– ident: 10.1016/j.jpdc.2017.01.018_br000085
– ident: 10.1016/j.jpdc.2017.01.018_br000065
– ident: 10.1016/j.jpdc.2017.01.018_br000080
SSID ssj0011578
Score 2.257813
Snippet For decades, computing speeds seemingly doubled every 24 months by increasing the processor clock speed, thus giving software a “free ride” to better...
SourceID crossref
elsevier
SourceType Enrichment Source
Index Database
Publisher
StartPage 150
SubjectTerms Block-based programming
Computer science education
Explicit parallel computing
Languages for PDC and HPC
Parallel computational patterns
Pedagogical tools
Programming environments
Visual programming
Title Parallel programming with pictures is a Snap
URI https://dx.doi.org/10.1016/j.jpdc.2017.01.018
Volume 105
WOSCitedRecordID wos000400536800015&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 1096-0848
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0011578
  issn: 0743-7315
  databaseCode: AIEXJ
  dateStart: 19950101
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LT9wwELbo0kMvPFvxlg_caCp7E8fJcYV4CiGk8thb5Di2uisI0W4W8fMZx3ZIoaByQIqiKEq868ynmS_OzDcI7VIFUaJPVECKfhpEhVBBAnYPNMkFD0WoWdMz8vqMn58nw2F64QQVpk07AV6WyeNjWn2qqeEcGNuUzn7A3O2gcAKOweiwB7PD_r8MfyEmpj_KrU-9umuXW6tR871gapqYi73fpajeoKaVH8KsqhdGWtd0xVJNAVw1q320axik9RUDU91TtyA5Aty5SppuMZC_-mYWyD-zsrviQHmbneodk5E15aEtw2y9KGEdP0itmqwLqdQ63Ffe2i4cjH-Nq8KoSVLeKKg6f_yXNPaLkNUmEvoctXFmxsjMGBmhsCVf0HyfszTpofnBycHwtP20RJkNz34SrpLKJv29_Cf_ZisdBnK5hBacffDAmnwZzalyBS36thzYeelV9NMjAHcQgA0CsEcAHk2xwAYB39HV4cHl_nHgmmIEMiSkDvI8kpFWpGBU6Bi4RA5TKljIdBozrmKqNeM554VIgfnmVJJYyjDighYxh8gW_kC98r5UawjHPNeRZDEHxhJxouFdIQHGx6gKEyKFWkfUTz6TTjHeNC65zd5-7Otor72nsnop717N_DPNHOOzTC4DiLxz38aHfmUTfXuG8Rbq1ZOZ2kZf5UM9mk52HD6eAN63dJc
linkProvider Elsevier
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%3Ajournal&rft.genre=article&rft.atitle=Parallel+programming+with+pictures+is+a+Snap&rft.jtitle=Journal+of+parallel+and+distributed+computing&rft.au=Feng%2C+Annette&rft.au=Gardner%2C+Mark&rft.au=Feng%2C+Wu-chun&rft.date=2017-07-01&rft.issn=0743-7315&rft.volume=105&rft.spage=150&rft.epage=162&rft_id=info:doi/10.1016%2Fj.jpdc.2017.01.018&rft.externalDBID=n%2Fa&rft.externalDocID=10_1016_j_jpdc_2017_01_018
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0743-7315&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0743-7315&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0743-7315&client=summon