{"created":"2025-01-18T23:34:14.769542+00:00","metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00079518","sets":["581:6276:6633"]},"path":["6633"],"owner":"11","recid":"79518","title":["Half-process: A Process Partially Sharing Its Address Space with Other Processes"],"pubdate":{"attribute_name":"公開日","attribute_value":"2011-12-15"},"_buckets":{"deposit":"985d2106-55fe-4c04-b30e-6590facb091e"},"_deposit":{"id":"79518","pid":{"type":"depid","value":"79518","revision_id":0},"owners":[11],"status":"published","created_by":11},"item_title":"Half-process: A Process Partially Sharing Its Address Space with Other Processes","author_link":["357307","357309","357308","357306"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"Half-process: A Process Partially Sharing Its Address Space with Other Processes"},{"subitem_title":"Half-process: A Process Partially Sharing Its Address Space with Other Processes","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"特集:情報爆発時代におけるIT基盤技術","subitem_subject_scheme":"Other"}]},"item_type_id":"2","publish_date":"2011-12-15","item_2_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"School of Information Science and Technology, The University of Tokyo"},{"subitem_text_value":"School of Information Science and Technology, The University of Tokyo"}]},"item_2_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"},{"subitem_text_value":"School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"eng"}]},"publish_status":"0","weko_shared_id":11,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/79518/files/IPSJ-JNL5212024.pdf","label":"IPSJ-JNL5212024"},"date":[{"dateType":"Available","dateValue":"2013-12-15"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-JNL5212024.pdf","filesize":[{"value":"1.4 MB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"660","billingrole":"5"},{"tax":["include_tax"],"price":"330","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"8"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"4ecfc4e8-3a14-4ed0-a66c-4bd7d32ff3fa","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2011 by the Information Processing Society of Japan"}]},"item_2_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Kentaro, Hara"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Kenjiro, Taura"}],"nameIdentifiers":[{}]}]},"item_2_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Kentaro, Hara","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Kenjiro, Taura","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_2_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AN00116647","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_2_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7764","subitem_source_identifier_type":"ISSN"}]},"item_2_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"Threads share a single address space with each other. On the other hand, a process has its own address space. Since whether to share or not to share the address space depends on each data structure in the whole program, the choice of “a thread or a process” for the whole program is too much “all-or-nothing.” With this motivation, this paper proposes a half-process, a process partially sharing its address space with other processes. This paper describes the design and the kernel-level implementation of the half-process and discusses the potential applicability of the half-process for multi-thread programming with thread-unsafe libraries, intra-node communications in parallel programming frameworks and transparent kernel-level thread migration. In particular, the thread migration based on the half-process is the first work that achieves transparent kernel-level thread migration by solving the problem of sharing global variables between threads.\n------------------------------ \nThis is a preprint of an article intended for publication Journal of \nInformation Processing(JIP). This preprint should not be cited. This \narticle should be cited as: Journal of Information Processing Vol.20(2012) No.1 (online) \nDOI http://dx.doi.org/10.2197/ipsjjip.20.89\n------------------------------ \n","subitem_description_type":"Other"}]},"item_2_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"Threads share a single address space with each other. On the other hand, a process has its own address space. Since whether to share or not to share the address space depends on each data structure in the whole program, the choice of “a thread or a process” for the whole program is too much “all-or-nothing.” With this motivation, this paper proposes a half-process, a process partially sharing its address space with other processes. This paper describes the design and the kernel-level implementation of the half-process and discusses the potential applicability of the half-process for multi-thread programming with thread-unsafe libraries, intra-node communications in parallel programming frameworks and transparent kernel-level thread migration. In particular, the thread migration based on the half-process is the first work that achieves transparent kernel-level thread migration by solving the problem of sharing global variables between threads.\n------------------------------ \nThis is a preprint of an article intended for publication Journal of \nInformation Processing(JIP). This preprint should not be cited. This \narticle should be cited as: Journal of Information Processing Vol.20(2012) No.1 (online) \nDOI http://dx.doi.org/10.2197/ipsjjip.20.89\n------------------------------ \n","subitem_description_type":"Other"}]},"item_2_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌"}],"bibliographicIssueDates":{"bibliographicIssueDate":"2011-12-15","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"12","bibliographicVolumeNumber":"52"}]},"relation_version_is_last":true,"weko_creator_id":"11"},"id":79518,"updated":"2025-01-20T06:56:11.272833+00:00","links":{}}