Parallel Extensions

.NET Store APIs
Async model
TPL
EF
WPF
WCF
WF
WCS
The .NET Framework stack

Parallel Extensions was the development name for a managed concurrency library developed by a collaboration between Microsoft Research and the CLR team at Microsoft. The library was released in version 4.0 of the .NET Framework.[1] It is composed of two parts: Parallel LINQ (PLINQ) and Task Parallel Library (TPL).[2][3] It also consists of a set of coordination data structures (CDS) – sets of data structures used to synchronize and co-ordinate the execution of concurrent tasks.[4]

Parallel LINQ

PLINQ, or Parallel LINQ, parallelizing the execution of queries on objects (LINQ to Objects) and XML data (LINQ to XML). PLINQ is intended for exposing data parallelism by use of queries.[2] Any computation on objects that has been implemented as queries can be parallelized by PLINQ. However, the objects need to implement the IParallelEnumerable interface, which is defined by PLINQ itself. Internally it uses TPL for execution.[4][5]

Task Parallel Library

The Task Parallel Library (TPL) is the task parallelism component of the Parallel Extensions to .NET.[6] It exposes parallel constructs like parallel For and ForEach loops, using regular method calls and delegates, thus the constructs can be used from any CLI languages. The job of spawning and terminating threads, as well as scaling the number of threads according to the number of available processors, is done by the library itself,[3] using a work stealing scheduler.[7]

TPL also includes other constructs like Task and Future. A Task is an action that can be executed independent of the rest of the program. In that sense, it is semantically equivalent to a thread, except that it is a more light-weight object and comes without the overhead of creating an OS thread. Tasks are queued by a Task Manager object and are scheduled to run on multiple OS threads in a thread pool when their turn comes.

Future is a task that returns a result. The result is computed in a background thread encapsulated by the Future object, and the result is buffered until it is retrieved.[3] If an attempt is made to retrieve the result before it has been computed then the requesting thread will block until the result is available.[6]

The other construct of TPL is Parallel class. TPL provides a basic form of structured parallelism via three static methods in the Parallel class:

Parallel.Invoke
Executes an array of Action delegates in parallel, and then waits for them to complete
Parallel.For
Parallel equivalent of a C# for loop
Parallel.ForEach
Parallel equivalent of a C# foreach loop

Architecture

The main concept in the Parallel Extensions to .NET is a Task, which is a small unit of code, usually represented as a lambda function, that can be executed independently. Both PLINQ and the TPL API provides methods to create the Tasks – PLINQ divides a query into smaller Tasks, and the Parallel.For, Parallel.ForEach and Parallel.Invoke methods divide a loop into Tasks.

PFX includes a Task Manager object which schedules the Tasks for execution. A Task Manager contains a global queue of Tasks, which are then executed. It also encapsulates multiple threads onto which the Tasks are executed. By default, as many threads as there are processors (or processor cores) on the system are created, though this number may be manually modified. Each thread is associated with a thread-specific queue of Tasks. When idle, each thread picks up a batch of Tasks and puts them on its local queue, where they are then executed, one by one. If the global queue is empty, a thread will look for Tasks in the queues of its peers, and will take the Tasks which have been in the queue the longest (task stealing). When in execution, the Tasks will be executed independently, with the change in state of one Task independent of others. As a result, if they use a shared resource, they still need to be synchronized manually using locks or other constructs.

See also

References

  1. ^ "What's New in the .NET Framework 4". Retrieved 21 September 2011.
  2. ^ a b "Programming in the Age of Concurrency: Concurrent Programming with PFX". Retrieved 16 October 2007.
  3. ^ a b c "MSDN Magazine: Task Parallel Library". Archived from the original on 14 October 2007. Retrieved 16 October 2007.
  4. ^ a b "June 2008 CTP – Parallel Extensions to the .NET FX". Retrieved 6 August 2008.
  5. ^ "More powerful aggregations in PLINQ". Retrieved 6 August 2008.
  6. ^ a b Duffy, Joe (2009). Concurrent Programming on Windows. pp. 887–929. ISBN 978-0321434821.
  7. ^ Leijen, Daan; Schulte, Wolfram; Burckhardt, Sebastian (2009). "The Design of a Task Parallel Library". ACM SIGPLAN Notices. 44 (10): 227. CiteSeerX 10.1.1.146.4197. doi:10.1145/1639949.1640106.

Read other articles:

Displasia pangkal paha pada seekor Labrador Retriever Pangkal paha normal, sebagai perbandingan Pada anjing, dispalia pangkal paha adalah keadaan tak normal dari bagian pangkal paha. Ini adalah keadaan genetik (poligenik) yang dipengaruhi oleh faktor lingkungan.[1] Referensi ^ Workingdogs.com. Canine hip dysplasia. Workingdogs.com. Diarsipkan dari versi asli tanggal 2013-08-28. Diakses tanggal 2013-08-18.  Connor, J.R.; LePage, C.; Swift, B.A.; Yamashita, D.; Bendele, A.M.; Maul,...

 

Trans StudioLogo Trans StudioLokasiIndonesia Didirikan2009 (Makassar)2011 (Bandung)2019 (Cibubur)2019 (Bali)Kantorpusat IndonesiaTokohkunciChairul Tanjung (Pendiri/Komisaris)ProdukTheme Park IndoorIndukTrans Property (2009-2014)Trans Entertainment (2014-sekarang)Situs webwww.transstudioworld.net Trans Studio merupakan jaringan taman bermain di dalam ruangan (Indoor Theme Park) terbesar di Indonesia yang dikelola oleh CT Corp. Di dalam taman bermain ini memiliki berbagai macam wahana dengan te...

 

SMP Negeri 16 DepokBenteng Pinair SchoolInformasiDidirikan06 Juni 2009JenisNegeriAkreditasiANomor Statistik Sekolah201026601016Nomor Pokok Sekolah Nasional20254662Kepala SekolahR. Purnomo Dono Ismawan, M.PdJumlah kelasVII: 10, VIII: 10, IX: 10Rentang kelasVII, VIII, IXKurikulumKurikulum 2013StatusSekolah Standar NasionalAlamatLokasiJalan Pintu Air III №30, Cimpaeun, Kec. Tapos, Depok, Jawa Barat, IndonesiaTel./Faks.(021) 83715098Situs webSitus [email protected]....

منظمة الطيران المدني الدوليالشعارالعلمالتاريخالتأسيس 7 ديسمبر 1944[1] الأمين العام خوان كارلوس سالازار غوميز[2] (2021 – ) عوضت Provisional International Civil Aviation Organization (en) [1] الإطارالاختصار ICAO (بالإنجليزية) النوع وكالة متخصصة تابعة للأمم المتحدة[3][4]دار نشر[5] المقر �...

 

Pusat Tenis OlimpiadeLokasiBarra da Tijuca, Rio de Janeiro, BrazilKoordinat22°58′44″S 43°23′47″W / 22.978822°S 43.396382°W / -22.978822; -43.396382Koordinat: 22°58′44″S 43°23′47″W / 22.978822°S 43.396382°W / -22.978822; -43.396382KapasitasTotal 18.000 untuk tiga lapangan pertunjukan 10.000 (Lapangan Maria Esther Bueno) 5.000 (Lapangan Pertunjukkan 1) 3.000 (Lapangan Pertunjukkan 2) 250 (Lapangan Pertandingan)PermukaanKera...

 

This is the talk page for discussing improvements to the WikiProject Organized Labour page. Put new text under old text. Click here to start a new topic. New to Wikipedia? Welcome! Learn to edit; get help. Assume good faith Be polite and avoid personal attacks Be welcoming to newcomers Seek dispute resolution if needed Archives: 1, 2, 3, 4, 5, 6, 7, 8, 9Auto-archiving period: 30 days  Organized Labour Project‑class Organized Labour portalThis page is within the scope of WikiProject Organ...

American biathlete Tim BurkeBurke in 2018Full nameTimothy John Burke[1]Born (1982-02-03) February 3, 1982 (age 42)Paul Smiths, New York, United StatesHeight1.80 m (5 ft 11 in)Ski clubLake Placid Biathlon ClubWorld Cup careerSeasons2004–2018Podiums6 Medal record Men's biathlon Representing  United States World Championships 2013 Nové Město 20 km individual Updated on 14 February 2013. Timothy John Burke (born February 3, 1982, in Paul Smiths, New ...

 

Cagar Alam Pananjung PangandaranIUCN Kategori Ia (Cagar Alam Lindung)Pantai Pangandaran bersebelahan dengan Cagar Alam PangandaranCA Pananjung PangandaranTampilkan peta PangandaranCA Pananjung PangandaranTampilkan peta Jawa BaratCA Pananjung PangandaranTampilkan peta Kabupaten CilacapCA Pananjung PangandaranTampilkan peta Jawa TengahCA Pananjung PangandaranTampilkan peta JawaCA Pananjung PangandaranTampilkan peta IndonesiaLetakDesa Pangandaran, Kec. Pangandaran, Kab. Pangandaran, Jawa BaratKo...

 

Streaming service Television channel Eleven Sports UK & IrelandBroadcast areaUnited KingdomIrelandNetworkEleven SportsHistoryLaunchedAugust 2018Closed2019 (streaming)LinksWebsiteelevensports.uk Eleven Sports UK & Ireland was a video streaming service that launched in August 2018. It was part of the Eleven Sports Group which is owned by Andrea Radrizzani.[1] History Logo 2015-2020 In May 2018, Eleven Sports secured a three-year deal to broadcast La Liga football matches in the ...

Highest juridical instance in Sweden Högsta domstolen redirects here. For the Finnish equivalent, see Supreme Court of Finland. Not to be confused with Supreme Administrative Court of Sweden. Supreme Court of SwedenHögsta domstolen59°19′34″N 18°03′59″E / 59.32611°N 18.06639°E / 59.32611; 18.06639Established15 May 1789LocationStockholm, SwedenCoordinates59°19′34″N 18°03′59″E / 59.32611°N 18.06639°E / 59.32611; 18.06639Co...

 

Державний комітет телебачення і радіомовлення України (Держкомтелерадіо) Приміщення комітетуЗагальна інформаціяКраїна  УкраїнаДата створення 2003Керівне відомство Кабінет Міністрів УкраїниРічний бюджет 1 964 898 500 ₴[1]Голова Олег НаливайкоПідвідомчі ор...

 

This is a list of airlines currently operating in Madagascar. Airline Image IATA ICAO Callsign Commencedoperations Notes Madagascar Airlines MGY MADAGASCAR AIRLINES 1962 Tsaradia TZ TDS TSARADIA 2018 Subsidiary of Madagascar Airlines Tiko Air 2000 See also List of airlines List of defunct airlines of Madagascar vteLists of airlinesBy airline codes All 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z By continent Africa Americas Asia Europe Oceania By countryvteExpand for full listA Ab...

Italian footballer Umberto Caligaris Caligaris with Juventus in the 1930sPersonal informationDate of birth (1901-06-26)26 June 1901Place of birth Casale Monferrato, ItalyDate of death 19 October 1940(1940-10-19) (aged 39)Place of death Torino, ItalyHeight 1.75 m (5 ft 9 in)Position(s) Left-backSenior career*Years Team Apps (Gls)1919–1928 Casale 182 (18)1928–1935 Juventus 178 (0)1935–1937 Brescia 40 (0)Total 400 (18)International career1922–1934 Italy 59 (0)Manageri...

 

Premier of Quebec from 1936 to 1939 and 1944 to 1959 The HonourableMaurice DuplessisQCDuplessis in 194716th Premier of QuebecIn officeAugust 30, 1944 – September 7, 1959MonarchsGeorge VIElizabeth IILieutenant GovernorEugène FisetGaspard FauteuxOnésime GagnonPreceded byAdélard GodboutSucceeded byPaul SauvéIn officeAugust 26, 1936 – November 8, 1939MonarchsEdward VIIIGeorge VILieutenant GovernorÉsioff-Léon PatenaudePreceded byAdélard GodboutSucceeded byAdélard...

 

City in South Dakota, United StatesMcIntosh Maktáža (Lakota)CityLocation within Corson County and South DakotaCoordinates: 45°55′17″N 101°20′57″W / 45.92139°N 101.34917°W / 45.92139; -101.34917CountryUnited StatesStateSouth DakotaCountyCorsonArea[1] • Total0.77 sq mi (1.99 km2) • Land0.73 sq mi (1.89 km2) • Water0.04 sq mi (0.10 km2)Elevation[2]2,310...

Roller derby league Kalamazoo Roller DerbyMetro areaKalamazoo, MICountryUnited StatesFounded2006TeamsKill Stars (A team)Killa Crew (B team)Track type(s)FlatVenueWings StadiumAffiliationsWFTDAWebsitewww.kalamazooderby.com Kalamazoo Roller Derby (KRD) is a women's flat track roller derby league based in Kalamazoo, Michigan. Founded in 2006, the league consists of two teams which compete against teams from other leagues, and is a member of the Women's Flat Track Derby Association (WFTDA).[1&...

 

Uzo AdubaUzo Aduba pada 2014LahirUzoamaka Nwanneka Aduba10 Februari 1981 (umur 43)Boston, Massachusetts, Amerika SerikatAlmamaterUniversitas BostonPekerjaanAktrisTahun aktif2003–kini Uzoamaka Nwanneka Uzo Aduba[1] (/ˈuːzoʊ əˈduːbə/; lahir 10 Februari 1981)[2] adalah seorang pemeran Nigeria-Amerika. Ia dikenal karena memerankan Suzanne Crazy Eyes Warren dalam seri asli Netflix Orange Is the New Black (2013–2019) Referensi ^ Godspell Talk Back – Uzo Aduba...

 

American politician Kevin Kamenetz12th Executive of Baltimore CountyIn officeDecember 6, 2010 – May 10, 2018Preceded byJames T. Smith, Jr.Succeeded byFred Homan (Acting)Member of the Baltimore County Councilfrom the 2nd districtIn office1994–2010Preceded byMel MintzSucceeded byVicki Almond Personal detailsBorn(1957-11-26)November 26, 1957Lochearn, Maryland, U.S.DiedMay 10, 2018 (aged 60)Towson, Maryland, U.S.Political partyDemocraticSpouseJill KamenetzChildren2EducationJohns...

Questa voce sull'argomento stagioni delle società calcistiche italiane è solo un abbozzo. Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Segui i suggerimenti del progetto di riferimento. Voce principale: Associazione Sportiva Dilettantistica Sangiovannese 1927. Dopolavoro Sportivo Comunale San Giovanni ValdarnoStagione 1942-1943Sport calcio Squadra Sangiovannese Allenatore Marino Passetti Presidente Alessio Baldini Serie C7º nel girone I 1941-1942 1945-1946 Si i...

 

ماركوس لوي (بالإنجليزية: Marcus Loew)‏    معلومات شخصية الميلاد 7 مايو 1870 [1]  نيويورك  الوفاة 5 سبتمبر 1927 (57 سنة) [1]  غلين كوف  سبب الوفاة نوبة قلبية  مواطنة الولايات المتحدة  الحياة العملية المهنة منتج أفلام  موظف في مترو غولدوين ماير  الجوائز نجمة ...