{"id":{"repo_id":"qu-belfast","oai_identifier":"oai:pure.qub.ac.uk/portal:studenttheses/22a3cdcb-3773-4117-a06d-23f031539a36"},"canonical_url":"https://search.dev.ndltd.org/etd/qu-belfast/oai:pure.qub.ac.uk/portal:studenttheses/22a3cdcb-3773-4117-a06d-23f031539a36","repository":{"repo_id":"qu-belfast","name":"Queen's University Belfast","base_url":"https://pureadmin.qub.ac.uk/ws/oai"},"display":{"title":"Software-defined Significance-Driven Computing","abstract":"Approximate computing has been an emerging programming and system design paradigm that has been proposed as a way to overcome the <br/>power-wall problem that hinders the scaling of the next generation of both high-end and mobile computing systems. Towards this<br/>end, a lot of researchers have been studying the effects of approximation to applications and those hardware modifications that<br/>allow increased power benefits for reduced reliability. In this work, we focus on runtime system modifications and task-based<br/>programming models that enable software-controlled, user-driven approximate computing.<br/><br/>We employ a systematic methodology that allows us to evaluate the potential energy and performance benefits of approximate<br/>computing using as building blocks unreliable hardware components. We present a set of extensions to OpenMP 4.0 that enable the <br/>programmer to define computations suitable for approximation. We introduce task-significance, a novel concept that describes the <br/>contribution of a task to the quality of the result. We use significance as a channel of communication from domain specific<br/>knowledge about applications towards the runtime-system, where we can optimise approximate execution depending on user<br/>constraints.<br/><br/>Finally, we show extensions to the Linux kernel that enable it to operate seamlessly on top of unreliable memory and provide a<br/>user-space interface for memory allocation from the unreliable portion of the physical memory. Having this framework in place<br/>allowed us to identify what we call the refresh-by-access property of applications that use dynamic random-access memory (DRAM).<br/>We use this property to implement techniques for task-based applications that minimise the probability of errors when using<br/>unreliable memory enabling increased quality and power efficiency when using unreliable DRAM.","abstract_html":"Approximate computing has been an emerging programming and system design paradigm that has been proposed as a way to overcome the &lt;br/&gt;power-wall problem that hinders the scaling of the next generation of both high-end and mobile computing systems. Towards this&lt;br/&gt;end, a lot of researchers have been studying the effects of approximation to applications and those hardware modifications that&lt;br/&gt;allow increased power benefits for reduced reliability. In this work, we focus on runtime system modifications and task-based&lt;br/&gt;programming models that enable software-controlled, user-driven approximate computing.&lt;br/&gt;&lt;br/&gt;We employ a systematic methodology that allows us to evaluate the potential energy and performance benefits of approximate&lt;br/&gt;computing using as building blocks unreliable hardware components. We present a set of extensions to OpenMP 4.0 that enable the &lt;br/&gt;programmer to define computations suitable for approximation. We introduce task-significance, a novel concept that describes the &lt;br/&gt;contribution of a task to the quality of the result. We use significance as a channel of communication from domain specific&lt;br/&gt;knowledge about applications towards the runtime-system, where we can optimise approximate execution depending on user&lt;br/&gt;constraints.&lt;br/&gt;&lt;br/&gt;Finally, we show extensions to the Linux kernel that enable it to operate seamlessly on top of unreliable memory and provide a&lt;br/&gt;user-space interface for memory allocation from the unreliable portion of the physical memory. Having this framework in place&lt;br/&gt;allowed us to identify what we call the refresh-by-access property of applications that use dynamic random-access memory (DRAM).&lt;br/&gt;We use this property to implement techniques for task-based applications that minimise the probability of errors when using&lt;br/&gt;unreliable memory enabling increased quality and power efficiency when using unreliable DRAM.","abstract_has_math":false,"creators":["Chalios, Charalambos"],"institution":"Queen's University Belfast","degree_name":"Doctor of Philosophy","degree_level":"Doctoral Thesis","degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":["Vandierendonck, Hans"],"committee_chairs":[],"committee_members":[],"year":2017,"date_issued":"2017-12-11","date_published":"2017-12-11","updated_at":"2026-07-24T03:54:53Z","subjects":["approximate computing","significance-based computing","parallel computing","reliability","task-based programming","DRAM","scheduling","linux"],"languages":["eng"],"rights":[],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["oai:pure.qub.ac.uk/portal:studenttheses/22a3cdcb-3773-4117-a06d-23f031539a36"],"render_values":[{"text":"oai:pure.qub.ac.uk/portal:studenttheses/22a3cdcb-3773-4117-a06d-23f031539a36","href":null,"code":true}]}]},"links":{"outbound_url":"https://pure.qub.ac.uk/en/studentTheses/22a3cdcb-3773-4117-a06d-23f031539a36","outbound_label":"Repository record","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Vandierendonck, Hans"]},{"key":"dc:contributor.sponsor","label":"Sponsor","values":["European Commission","Northern Ireland Department for the Economy"]},{"key":"dc:creator","label":"Author","values":["Chalios, Charalambos"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2017-12-11"]},{"key":"dc:date.issued","label":"Date","values":["2017-12-11"]},{"key":"dc:publisher.department","label":"Dc Publisher Department","values":["School of Electronics, Electrical Engineering and Computer Science"]},{"key":"dc:publisher.institution","label":"Dc Publisher Institution","values":["Queen's University Belfast"]},{"key":"dc:relation.isreferencedby","label":"Dc Relation Isreferencedby","values":["https://pure.qub.ac.uk/en/studentTheses/22a3cdcb-3773-4117-a06d-23f031539a36"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"dc:type.qualificationlevel","label":"Dc Type Qualificationlevel","values":["Doctoral Thesis"]},{"key":"dc:type.qualificationname","label":"Dc Type Qualificationname","values":["Doctor of Philosophy"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["approximate computing","significance-based computing","parallel computing","reliability","task-based programming","DRAM","scheduling","linux"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["oai:pure.qub.ac.uk/portal:studenttheses/22a3cdcb-3773-4117-a06d-23f031539a36","https://pure.qub.ac.uk/en/studentTheses/22a3cdcb-3773-4117-a06d-23f031539a36"]},{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://pure.qub.ac.uk/files/148227326/thesis_hardbound.pdf"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Approximate computing has been an emerging programming and system design paradigm that has been proposed as a way to overcome the <br/>power-wall problem that hinders the scaling of the next generation of both high-end and mobile computing systems. Towards this<br/>end, a lot of researchers have been studying the effects of approximation to applications and those hardware modifications that<br/>allow increased power benefits for reduced reliability. In this work, we focus on runtime system modifications and task-based<br/>programming models that enable software-controlled, user-driven approximate computing.<br/><br/>We employ a systematic methodology that allows us to evaluate the potential energy and performance benefits of approximate<br/>computing using as building blocks unreliable hardware components. We present a set of extensions to OpenMP 4.0 that enable the <br/>programmer to define computations suitable for approximation. We introduce task-significance, a novel concept that describes the <br/>contribution of a task to the quality of the result. We use significance as a channel of communication from domain specific<br/>knowledge about applications towards the runtime-system, where we can optimise approximate execution depending on user<br/>constraints.<br/><br/>Finally, we show extensions to the Linux kernel that enable it to operate seamlessly on top of unreliable memory and provide a<br/>user-space interface for memory allocation from the unreliable portion of the physical memory. Having this framework in place<br/>allowed us to identify what we call the refresh-by-access property of applications that use dynamic random-access memory (DRAM).<br/>We use this property to implement techniques for task-based applications that minimise the probability of errors when using<br/>unreliable memory enabling increased quality and power efficiency when using unreliable DRAM."]},{"key":"dc:title","label":"Title","values":["Software-defined Significance-Driven Computing"]}]}],"canonical_facts":{"dc:contributor.advisor":["Vandierendonck, Hans"],"dc:contributor.sponsor":["European Commission","Northern Ireland Department for the Economy"],"dc:creator":["Chalios, Charalambos"],"dc:date":["2017-12-11"],"dc:date.issued":["2017-12-11"],"dc:description.abstract":["Approximate computing has been an emerging programming and system design paradigm that has been proposed as a way to overcome the <br/>power-wall problem that hinders the scaling of the next generation of both high-end and mobile computing systems. Towards this<br/>end, a lot of researchers have been studying the effects of approximation to applications and those hardware modifications that<br/>allow increased power benefits for reduced reliability. In this work, we focus on runtime system modifications and task-based<br/>programming models that enable software-controlled, user-driven approximate computing.<br/><br/>We employ a systematic methodology that allows us to evaluate the potential energy and performance benefits of approximate<br/>computing using as building blocks unreliable hardware components. We present a set of extensions to OpenMP 4.0 that enable the <br/>programmer to define computations suitable for approximation. We introduce task-significance, a novel concept that describes the <br/>contribution of a task to the quality of the result. We use significance as a channel of communication from domain specific<br/>knowledge about applications towards the runtime-system, where we can optimise approximate execution depending on user<br/>constraints.<br/><br/>Finally, we show extensions to the Linux kernel that enable it to operate seamlessly on top of unreliable memory and provide a<br/>user-space interface for memory allocation from the unreliable portion of the physical memory. Having this framework in place<br/>allowed us to identify what we call the refresh-by-access property of applications that use dynamic random-access memory (DRAM).<br/>We use this property to implement techniques for task-based applications that minimise the probability of errors when using<br/>unreliable memory enabling increased quality and power efficiency when using unreliable DRAM."],"dc:identifier":["oai:pure.qub.ac.uk/portal:studenttheses/22a3cdcb-3773-4117-a06d-23f031539a36","https://pure.qub.ac.uk/en/studentTheses/22a3cdcb-3773-4117-a06d-23f031539a36"],"dc:identifier.uri":["https://pure.qub.ac.uk/files/148227326/thesis_hardbound.pdf"],"dc:language":["eng"],"dc:publisher.department":["School of Electronics, Electrical Engineering and Computer Science"],"dc:publisher.institution":["Queen's University Belfast"],"dc:relation.isreferencedby":["https://pure.qub.ac.uk/en/studentTheses/22a3cdcb-3773-4117-a06d-23f031539a36"],"dc:subject":["approximate computing","significance-based computing","parallel computing","reliability","task-based programming","DRAM","scheduling","linux"],"dc:title":["Software-defined Significance-Driven Computing"],"dc:type":["Thesis"],"dc:type.qualificationlevel":["Doctoral Thesis"],"dc:type.qualificationname":["Doctor of Philosophy"]},"updated_at":"2026-07-24T03:54:53Z"}