Using Differential Execution Analysis to Identify Thread Interference
Understanding the performance of a multi-threaded application is difficult. The threads interfere when they access the same shared resource, which slows down their execution. Unfortunately, current profiling tools report the hardware components or the synchronization primitives that saturate, but th...
Saved in:
| Published in: | IEEE transactions on parallel and distributed systems Vol. 30; no. 12; pp. 2866 - 2878 |
|---|---|
| Main Authors: | , , , , , , , |
| Format: | Journal Article |
| Language: | English |
| Published: |
New York
IEEE
01.12.2019
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) Institute of Electrical and Electronics Engineers |
| Subjects: | |
| ISSN: | 1045-9219, 1558-2183 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Understanding the performance of a multi-threaded application is difficult. The threads interfere when they access the same shared resource, which slows down their execution. Unfortunately, current profiling tools report the hardware components or the synchronization primitives that saturate, but they cannot tell if the saturation is the cause of a performance bottleneck. In this paper, we propose a holistic metric able to pinpoint the blocks of code that suffer interference the most, regardless of the interference cause. Our metric uses performance variation as a universal indicator of interference problems. With an evaluation of 27 applications we show that our metric can identify interference problems caused by six different kinds of interference in nine applications. We are able to easily remove seven of the bottlenecks, which leads to a performance improvement of up to nine times. |
|---|---|
| AbstractList | Understanding the performance of a multi-threaded application is difficult. The threads interfere when they access the same shared resource, which slows down their execution. Unfortunately, current profiling tools report the hardware components or the synchronization primitives that saturate, but they cannot tell if the saturation is the cause of a performance bottleneck. In this paper, we propose a holistic metric able to pinpoint the blocks of code that suffer interference the most, regardless of the interference cause. Our metric uses performance variation as a universal indicator of interference problems. With an evaluation of 27 applications we show that our metric can identify interference problems caused by 6 different kinds of interference in 9 applications. We are able to easily remove 7 of the bottlenecks, which leads to a performance improvement of up to 9 times Understanding the performance of a multi-threaded application is difficult. The threads interfere when they access the same shared resource, which slows down their execution. Unfortunately, current profiling tools report the hardware components or the synchronization primitives that saturate, but they cannot tell if the saturation is the cause of a performance bottleneck. In this paper, we propose a holistic metric able to pinpoint the blocks of code that suffer interference the most, regardless of the interference cause. Our metric uses performance variation as a universal indicator of interference problems. With an evaluation of 27 applications we show that our metric can identify interference problems caused by six different kinds of interference in nine applications. We are able to easily remove seven of the bottlenecks, which leads to a performance improvement of up to nine times. |
| Author | Bouksiaa, Mohamed Said Mosli Lescouet, Alexis Guermouche, Amina Trahay, Francois Brunet, Elisabeth Voron, Gauthier Dulong, Remi Thomas, Gael |
| Author_xml | – sequence: 1 givenname: Mohamed Said Mosli surname: Bouksiaa fullname: Bouksiaa, Mohamed Said Mosli email: mohamed.mosli_bouksiaa@telecom-sudparis.eu organization: Telecom SudParis, Évry, France – sequence: 2 givenname: Francois orcidid: 0000-0001-7329-1812 surname: Trahay fullname: Trahay, Francois email: francois.trahay@telecom-sudparis.eu organization: Telecom SudParis, Évry, France – sequence: 3 givenname: Alexis surname: Lescouet fullname: Lescouet, Alexis email: alexis.lescouet@telecom-sudparis.eu organization: Telecom SudParis, Évry, France – sequence: 4 givenname: Gauthier surname: Voron fullname: Voron, Gauthier email: gauthier.voron@pro.mnesic.fr organization: Telecom SudParis, Évry, France – sequence: 5 givenname: Remi surname: Dulong fullname: Dulong, Remi email: remi.dulong@telecom-sudparis.eu organization: Telecom SudParis, Évry, France – sequence: 6 givenname: Amina surname: Guermouche fullname: Guermouche, Amina email: amina.guermouche@telecom-sudparis.eu organization: Telecom SudParis, Évry, France – sequence: 7 givenname: Elisabeth surname: Brunet fullname: Brunet, Elisabeth email: Elisabeth.Brunet@telecom-sudparis.eu organization: Telecom SudParis, Évry, France – sequence: 8 givenname: Gael surname: Thomas fullname: Thomas, Gael email: gael.thomas@telecom-sudparis.eu organization: Telecom SudParis, Évry, France |
| BackLink | https://hal.science/hal-02179717$$DView record in HAL |
| BookMark | eNp9kLFOwzAQhi1UJErhARBLJCaGFJ_t1PZYtYVWqgQSYbacxKauQlLsFNG3JyGFgYHJp7vvs-7-czSo6sogdAV4DIDlXfo0fx4TDHJMJOFMwAkaQpKImICgg7bGLIklAXmGzkPYYgwswWyIFi_BVa_R3FlrvKkap8to8WnyfePqKppWujwEF6KmjlZFN7aHKN14o4toVTXGf0u5uUCnVpfBXB7fEUrvF-lsGa8fH1az6TrOKcdNnBe2kDzDglsiJmZiGVgsMqCaMpgIY4ikbAKQSSHaRi6opZnWhc0KTlhOR-i2_3ajS7Xz7k37g6q1U8vpWnU9TIBLDvwDWvamZ3e-ft-b0KhtvfftPUERCowKyRhvKd5Tua9D8Maq3DW6u73x2pUKsOriVV28qotXHeNtTfhj_iz0n3PdO84Y88sLngjKCP0CRI2Gnw |
| CODEN | ITDSEO |
| CitedBy_id | crossref_primary_10_1145_3460433 crossref_primary_10_1145_3469379_3469391 |
| Cites_doi | 10.1145/3225058.3225094 10.1109/PDP.2015.30 10.1109/IISWC.2012.6402901 10.1145/1952682.1952688 10.1145/2815400.2815409 10.1145/1755913.1755947 10.1145/2845079 10.1109/ISPASS.2012.6189221 10.1109/ISCA.2014.6853224 10.1007/11428848_22 10.1145/2485922.2485966 10.1145/1274971.1274976 10.1145/2660193.2660234 10.1145/1693453.1693489 10.1145/2503210.2503247 10.1145/3064176.3064179 10.1109/ISCA.1995.524546 10.1145/2901318.2901340 10.1109/PACT.2007.4336237 10.1145/2854038.2854039 10.1145/1869459.1869519 10.1145/1791194.1791198 10.1109/ISPASS.2016.7482081 10.1109/CCGrid.2011.83 10.1145/2660193.2660210 10.1145/1454115.1454128 10.1109/IPDPS.2014.28 10.1145/2807591.2807648 10.1145/2503210.2503269 10.1145/2048066.2048070 10.1145/2555243.2555244 10.1145/1772954.1772991 10.1145/2465351.2465366 10.1145/2591062.2591107 10.1109/IPDPS.2003.1213517 10.1145/2451116.2451157 10.1145/2541940.2541968 10.1109/HPCA.2007.346181 |
| ContentType | Journal Article |
| Copyright | Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2019 Distributed under a Creative Commons Attribution 4.0 International License |
| Copyright_xml | – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2019 – notice: Distributed under a Creative Commons Attribution 4.0 International License |
| DBID | 97E RIA RIE AAYXX CITATION 7SC 7SP 8FD JQ2 L7M L~C L~D 1XC VOOES |
| DOI | 10.1109/TPDS.2019.2927481 |
| DatabaseName | IEEE Xplore (IEEE) IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef Computer and Information Systems Abstracts Electronics & Communications Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional Hyper Article en Ligne (HAL) Hyper Article en Ligne (HAL) (Open Access) |
| DatabaseTitle | CrossRef Technology Research Database Computer and Information Systems Abstracts – Academic Electronics & Communications Abstracts ProQuest Computer Science Collection Computer and Information Systems Abstracts Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Technology Research Database |
| Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering Computer Science |
| EISSN | 1558-2183 |
| EndPage | 2878 |
| ExternalDocumentID | oai:HAL:hal-02179717v1 10_1109_TPDS_2019_2927481 8758342 |
| Genre | orig-research |
| GroupedDBID | --Z -~X .DC 0R~ 29I 4.4 5GY 6IK 97E AAJGR AARMG AASAJ AAWTH ABAZT ABQJQ ABVLG ACGFO ACIWK AENEX AGQYO AHBIQ AKJIK AKQYR ALMA_UNASSIGNED_HOLDINGS ASUFR ATWAV BEFXN BFFAM BGNUA BKEBE BPEOZ CS3 DU5 EBS EJD HZ~ IEDLZ IFIPE IPLJI JAVBF LAI M43 MS~ O9- OCL P2P PQQKQ RIA RIE RNS TN5 TWZ UHB AAYXX CITATION 7SC 7SP 8FD JQ2 L7M L~C L~D RIG 1XC 5VS ABFSI AETIX AGSQL AI. AIBXA ALLEH E.L H~9 ICLAB IFJZH RNI RZB VH1 VOOES |
| ID | FETCH-LOGICAL-c370t-cdfd97b087f286e6f41f08b13a34168ee2934611b988416c83f3baadfbd724c3 |
| IEDL.DBID | RIE |
| ISICitedReferencesCount | 5 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000498569400018&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 1045-9219 |
| IngestDate | Sat Oct 25 10:05:36 EDT 2025 Mon Jun 30 04:14:54 EDT 2025 Tue Nov 18 22:43:54 EST 2025 Sat Nov 29 06:06:47 EST 2025 Wed Aug 27 02:47:29 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 12 |
| Keywords | Multithreading Performance analysis Bottleneck detection |
| Language | English |
| License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html https://doi.org/10.15223/policy-029 https://doi.org/10.15223/policy-037 Distributed under a Creative Commons Attribution 4.0 International License: http://creativecommons.org/licenses/by/4.0 |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c370t-cdfd97b087f286e6f41f08b13a34168ee2934611b988416c83f3baadfbd724c3 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0001-7329-1812 0000-0003-3653-3784 0000-0002-9444-1071 0009-0008-2481-7257 |
| OpenAccessLink | https://hal.science/hal-02179717 |
| PQID | 2314389447 |
| PQPubID | 85437 |
| PageCount | 13 |
| ParticipantIDs | hal_primary_oai_HAL_hal_02179717v1 proquest_journals_2314389447 crossref_citationtrail_10_1109_TPDS_2019_2927481 crossref_primary_10_1109_TPDS_2019_2927481 ieee_primary_8758342 |
| PublicationCentury | 2000 |
| PublicationDate | 2019-12-01 |
| PublicationDateYYYYMMDD | 2019-12-01 |
| PublicationDate_xml | – month: 12 year: 2019 text: 2019-12-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationPlace | New York |
| PublicationPlace_xml | – name: New York |
| PublicationTitle | IEEE transactions on parallel and distributed systems |
| PublicationTitleAbbrev | TPDS |
| PublicationYear | 2019 |
| Publisher | IEEE The Institute of Electrical and Electronics Engineers, Inc. (IEEE) Institute of Electrical and Electronics Engineers |
| Publisher_xml | – name: IEEE – name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE) – name: Institute of Electrical and Electronics Engineers |
| References | ref13 ref56 ref12 ref15 ref14 ref53 ref52 ref55 ref11 ref54 ref10 zhuang (ref38) 0 frumkin (ref36) 2004 ref17 ref16 ref18 (ref3) 0 lozi (ref26) 2012 ref51 ref50 (ref41) 0 eranian (ref4) 2006 ref48 ref47 ref42 aulagnon (ref24) 2012 ref44 ref43 xu (ref46) 2010 lachaize (ref5) 2012 ref49 ref8 ref9 scott (ref27) 1993 joukov (ref21) 2006 zhao (ref19) 2016 ref40 ref34 ref31 ref30 ref33 ref32 ref2 lozi (ref29) 2016; 33 (ref1) 0 fitzpatrick (ref37) 2004; 2004 jaleel (ref6) 2008 ghemawat (ref39) 2011 ref23 ref25 ref20 bailey (ref35) 2011 ref22 chung (ref45) 2008 ref28 günther (ref7) 2009 |
| References_xml | – start-page: 65 year: 2012 ident: ref26 article-title: Remote core locking: migrating critical-section execution to improve the performance of multithreaded applications publication-title: Proc USENIX Annu Tech Conf – ident: ref54 doi: 10.1145/3225058.3225094 – start-page: 1 year: 2008 ident: ref45 article-title: A framework for automated performance bottleneck detection publication-title: Proc Int Parallel Distrib Process Symp – ident: ref25 doi: 10.1109/PDP.2015.30 – ident: ref31 doi: 10.1109/IISWC.2012.6402901 – ident: ref8 doi: 10.1145/1952682.1952688 – year: 1993 ident: ref27 article-title: False sharing and its effect on shared memory performance publication-title: Proc USENIX Symp Experiences Distrib Multiprocessor Syst – ident: ref40 doi: 10.1145/2815400.2815409 – year: 0 ident: ref41 article-title: Facebook rocksdb – ident: ref52 doi: 10.1145/1755913.1755947 – start-page: 5 year: 2012 ident: ref5 article-title: MemProf: A memory profiler for NUMA multicore systems publication-title: Proc USENIX Annu Tech Conf – volume: 33 start-page: 13:1 year: 2016 ident: ref29 article-title: Fast and portable locking for multicore architectures publication-title: ACM Trans Comput Syst doi: 10.1145/2845079 – ident: ref56 doi: 10.1109/ISPASS.2012.6189221 – start-page: 603 year: 2016 ident: ref19 article-title: Non-intrusive performance profiling for entire software stacks based on the flow reconstruction principle publication-title: Proc Operating Syst Des Implementation – ident: ref47 doi: 10.1109/ISCA.2014.6853224 – volume: 2004 year: 2004 ident: ref37 article-title: Distributed caching with memcached publication-title: Linux J – year: 0 ident: ref38 article-title: memaslap: Load testing and benchmarking a server – year: 0 ident: ref1 article-title: Intel® vtune™ amplifier 2017 – ident: ref49 doi: 10.1007/11428848_22 – ident: ref55 doi: 10.1145/2485922.2485966 – ident: ref22 doi: 10.1145/1274971.1274976 – ident: ref18 doi: 10.1145/2660193.2660234 – start-page: 1254 year: 2011 ident: ref35 article-title: Nas parallel benchmarks publication-title: Encyclopedia of Parallel Computing – ident: ref12 doi: 10.1145/1693453.1693489 – ident: ref16 doi: 10.1145/2503210.2503247 – ident: ref20 doi: 10.1145/3064176.3064179 – ident: ref33 doi: 10.1109/ISCA.1995.524546 – year: 2004 ident: ref36 article-title: Benchmarking memory performance with the data cube operator – start-page: 28 year: 2008 ident: ref6 article-title: CMP$im: A pin-based on-the-fly multi-core cache simulator publication-title: Proc 4th Ann Workshop Modeling Benchmarking and Simulation – ident: ref43 doi: 10.1145/2901318.2901340 – ident: ref9 doi: 10.1109/PACT.2007.4336237 – ident: ref11 doi: 10.1145/2854038.2854039 – ident: ref15 doi: 10.1145/1869459.1869519 – start-page: 26 year: 2009 ident: ref7 article-title: Assessing cache false sharing effects by dynamic binary instrumentation publication-title: Proc Workshop Binary Instrum Appl doi: 10.1145/1791194.1791198 – ident: ref30 doi: 10.1109/ISPASS.2016.7482081 – ident: ref23 doi: 10.1109/CCGrid.2011.83 – ident: ref14 doi: 10.1145/2660193.2660210 – ident: ref34 doi: 10.1145/1454115.1454128 – ident: ref17 doi: 10.1109/IPDPS.2014.28 – start-page: 269 year: 2006 ident: ref4 article-title: Perfmon2: A flexible performance monitoring interface for linux publication-title: Proceedings of Ottawa Linux Symposium 2006 – year: 2011 ident: ref39 article-title: LevelDB – ident: ref51 doi: 10.1145/2807591.2807648 – ident: ref48 doi: 10.1145/2503210.2503269 – ident: ref28 doi: 10.1145/2048066.2048070 – ident: ref10 doi: 10.1145/2555243.2555244 – year: 0 ident: ref3 article-title: Oprofile. a system profiler for linux – ident: ref44 doi: 10.1145/1772954.1772991 – start-page: 395 year: 2012 ident: ref24 article-title: Runtime function instrumentation with EZTrace publication-title: Proc Workshop Productiv Perform – ident: ref50 doi: 10.1145/2465351.2465366 – start-page: 76 year: 2010 ident: ref46 article-title: Cache contention and application performance prediction for multi-core systems publication-title: Proc Int Symp Perform Anal Syst Softw – ident: ref42 doi: 10.1145/2591062.2591107 – ident: ref2 doi: 10.1109/IPDPS.2003.1213517 – ident: ref53 doi: 10.1145/2451116.2451157 – start-page: 89 year: 2006 ident: ref21 article-title: Operating system profiling via latency analysis publication-title: Proc Operating Syst Des Implementation – ident: ref13 doi: 10.1145/2541940.2541968 – ident: ref32 doi: 10.1109/HPCA.2007.346181 |
| SSID | ssj0014504 |
| Score | 2.311439 |
| Snippet | Understanding the performance of a multi-threaded application is difficult. The threads interfere when they access the same shared resource, which slows down... |
| SourceID | hal proquest crossref ieee |
| SourceType | Open Access Repository Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 2866 |
| SubjectTerms | bottleneck detection Computer Science Distributed, Parallel, and Cluster Computing Energy storage Generators Interference multithreading Operating Systems Performance analysis Power system stability Real-time systems Renewable energy sources Supply and demand Synchronism |
| Title | Using Differential Execution Analysis to Identify Thread Interference |
| URI | https://ieeexplore.ieee.org/document/8758342 https://www.proquest.com/docview/2314389447 https://hal.science/hal-02179717 |
| Volume | 30 |
| WOSCitedRecordID | wos000498569400018&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: PRVIEE databaseName: IEEE Electronic Library (IEL) customDbUrl: eissn: 1558-2183 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0014504 issn: 1045-9219 databaseCode: RIE dateStart: 19900101 isFulltext: true titleUrlDefault: https://ieeexplore.ieee.org/ providerName: IEEE |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3NS8MwFH848aAHp1NxOiWIJzGubbImOYpueBAR7MFbSfOBgmwyp-h_b5KmRVEEbyW8QOgvLy8v7-MHcOzZolWqLM6MVthZCIUlGREsjOTM0oTb3AayCXZzw-_vxe0SnLa1MMaYkHxmzvxniOXrmXr1T2VDd7fmhLoDt8NYXtdqtREDOgpUgc67GGHh1DBGMNNEDIvbyzufxCXOMuGcMJ5-s0GdB58BGahVfpzHwchMuv9b3gasx8skOq_R34QlM-1BtyFqQFFve7D2pevgFoxDmgC6jNQoTsWf0PjdqLAFUdOlBC1mqK7itR-ocIhLjcLzYSwQ3IZiMi4urnBkU8CKsGSBlbZasCpxEGQ8N7mlqU14lRLpDFnOjXGGn-ZpWgnuQ5GKE0sqKbWtNMuoIjuwPJ1NzS4gSTUxWuhUUU09nlxbaTJn-CUxSUX6kDS_t1Sx07gnvHgqg8eRiNIjUnpEyohIH07aKc91m42_hI8cZq2cb5B9dX5d-jHvYQnnob45oS2PUCsVwenDoIG4jNr6Uro7rieBp5Tt_T5rH1b9Auo0lgEsL-av5gBW1Nvi8WV-GDbiJ0IH2gE |
| linkProvider | IEEE |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSyQxEC58ge7B54qz6yOIJ7G1u5PpTo6yjow4DoJ98BbSeaAgM4vODPrvTWUyzYqy4K0JFQj9pVKp1OMDOEK2aJ1pl-TW6MRbCJ0o2qaJsIqXjqXcFS6QTZT9Pr-_F7dzcNLUwlhrQ_KZPcXPEMs3Qz3Gp7Izf7fmlPkDdxGZs2K1VhMzYO1AFuj9i3YivCLGGGaWirPq9uIO07jEaS68G8azD1Zo_gFzIAO5yqcTOZiZy7XvLXAdVuN1kpxP8d-AOTvYhLUZVQOJmrsJP_7pO7gFnZAoQC4iOYpX8ifSebU6bEIy61NCRkMyreN1b6TymCtDwgNiLBH8CdVlp_rTTSKfQqJpmY4SbZwRZZ16EHJe2MKxzKW8zqjypqzg1nrTz4osqwXHYKTm1NFaKeNqU-ZM021YGAwHdgeIYoZaI0ymmWGIKDdO2dybfkVtWtMWpLPfK3XsNY6UF08y-BypkIiIRERkRKQFx82Uv9NGG_8TPvSYNXLYIrt73pM4hj6W8D7qxAttIUKNVASnBbsziGXU1xfpb7lIA89Y-evrWQew3K1uerJ31b_-DSu4mGlSyy4sjJ7Hdg-W9GT0-PK8HzblO8Ys3Uo |
| 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=Using+Differential+Execution+Analysis+to+Identify+Thread+Interference&rft.jtitle=IEEE+transactions+on+parallel+and+distributed+systems&rft.au=Bouksiaa%2C+Mohamed+Said+Mosli&rft.au=Trahay%2C+Francois&rft.au=Lescouet%2C+Alexis&rft.au=Voron%2C+Gauthier&rft.date=2019-12-01&rft.issn=1045-9219&rft.eissn=1558-2183&rft.volume=30&rft.issue=12&rft.spage=2866&rft.epage=2878&rft_id=info:doi/10.1109%2FTPDS.2019.2927481&rft.externalDBID=n%2Fa&rft.externalDocID=10_1109_TPDS_2019_2927481 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1045-9219&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1045-9219&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1045-9219&client=summon |