LANCASTER UNIVERSITY 2022 UNDERGRADUATE RESEARCH CONFERENCE
15th MARCH - 17th MARCH 2022
Jon-Ross Stanley-Owusu

Jon-Ross Stanley-Owusu

Computer Science (Ghana) | Year 3 | Degree: Computer Science BSc.
Approximate Computing: Techniques, Challenges and Applications

Approximate Computing is a fairly new computing paradigm that aims at optimising execution time, improving performance and energy efficiency by sacrificing accuracy of results. This report addresses its techniques, challenges and applications centred around the possibility of it becoming universally acceptable across diverse applications within the data science, scientific computing, and artificial intelligence environment. This new concept is particularly important as it has the capability of gradually revolutionising and shaping the way in which billions of devices across the globe including embedded systems process data in order to make them much more efficient, energy-conserving, and even relevant amid the expanse of computing power that is currently available today.

Email
Twitter
Instagram

Jon-Ross Stanley-Owusu
Jon-Ross Stanley-Owusu

Jon-Ross Stanley-Owusu

Computer Science (Ghana) | Year 3 | Degree: Computer Science BSc.
Approximate Computing: Techniques, Challenges and Applications
<
>

What if I told you that, the mind-blowing expanse of computing power available in this present day and age could be doubled, or even tripled without us having to physically manufacture more expensive hardware or additional resources? Well, to cut the suspense; this is the benefit of the relatively new concept of "Approximate Computing." which is rapidly gaining traction and attention as the days fly by.

Approximate Computing aims at optimising execution time, improving performance and energy efficiency by sacrificing the accuracy of computed results.

A typical approximate computing result is the addition of 1 plus 1 which may yield 2.01 but not 2. For many applications, including artificial intelligence and imaging, "almost correct" is good enough, and such computing consumes much less energy.

Promising Areas Where Approximate Computing Seems Practical (Error-tolerant areas)

Digging further into this relatively new concept, every transaction or set of of data processing presents itself with its unique tolerance level of inaccuracy: Radio and digital signal processing, robotics, and machine learning amongst others (Shafique et al., 2016; Venkataramani et al., 2013). However, more areas Approximate Computing seems promising include (should be error-tolerant areas):

Search Engines

Multimedia Construction & Production

Scientific Computing

Machine Learning

Challenges

The uniqueness of every single transaction or problem may pose a challenge in terms of loop perforations as to how many iterations must be made or skipped. Every single transaction presents itself with a tolerance level of inaccuracy. Radio and digital signal processing, robotics, and machine learning amongst others (Shafique et al., 2016; Venkataramani et al., 2013). Therefore, loops, must only be perforated in these areas where tolerance is accepted and not in critical areas such as healthcare which could cause fatal disasters. Looking at it from a different angle, if advanced machine learning could come into place to learn the specific amount of time a specific loop should be iterated, then loop perforation might work in these delicate areas but for now, loop perforation is only limited to areas which can overly tolerate error. In terms of bit-width reductions, which has the potential to reduce up to 37 % of operation bit-width in order to reduce execution times by up to 50%, if it is not done “judiciously”, then it might lead to misleading results which lessens effectiveness. (IEEE Rebooting Computing Initiative et al., n.d.; (Roy & Raghunathan, 2015).

Applications & Techniques

According to the results of a study carried out by IEEE Rebooting Computing Initiative et al., (n.d); the benefits of approximate computing are compounded when applied concurrently. That is, combined judiciously, the several methods do not considerably diminish the efficacy of one another; so approximate computing should be highly effective when it is combined in areas of high error tolerance, but precise results must be used in areas of low error tolerance. Approximate computing is a contributor to SDG 9 as it fully harvests and utilises computing power and available resources which contributes to industry by helping in saving the overhead costs of purchasing new and more powerful machinery, leaving the older ones redundant. (SDG, 2018). It is also an innovative process, and it uses less infrastructure as compared to precise and accurate computing.

In conclusion, throughout this entire research, the essence of approximate computing in optimising execution time, improving performance and efficiency by sacrificing exactness of results has been made explicit. A fundamental goal of this paper is assessing whether approximate computing could become universally acceptable across our day-to-day life involvements, and this has been made evident by the way in which the smallest embedded systems and microcontrollers could adopt these systems in both their hardware and software resources. Approximate computing techniques are able to reduce the width of variables used in computation to 10-16 bits prior to using the commonly used 32-64 bits to enhance all- around performance gains. Such a system could offer great efficiency and power for multimedia processing over the 64-bit CPUs and GPUs used currently. While many of these initiations are worthy advances, it is still a relatively new area which needs to be deeply explored, tried, and tested especially the subsection of approximate storage in ways to prevent it from being exploited by new malicious attacks. 

From learning about how approximate computing could produce incomplete results if controls are not used judiciously, I recommend not using Approximate Computing thoroughly, but rather in small segments that are not entirely significant in result accuracy but still use weighty processing power.

REFERENCES

IEEE Rebooting Computing Initiative, IEEE Computer Society, IEEE Council on Superconductivity, & Institute of Electrical and Electronics Engineers. (n.d.). 2016 IEEE International Conference on Rebooting Computing (ICRC) : conference proceedings : 17- 19 October 2016, San Diego, CA, USA.

Miguel, J. S., Albericio, J., Moshovos, A., & Jerger, N. E. (2015). Doppelgänger: A cache for approximate computing. Proceedings of the Annual International Symposium on Microarchitecture, MICRO, 05-09-December-2015, 50–61.https://doi.org/10.1145/2830772.2830790

Roy, K., & Raghunathan, A. (2015). Approximate computing: An energy-efficient computing technique for error resilient applications. Proceedings of IEEE Computer Society Annual Symposium on VLSI, ISVLSI, 07-10-July-2015, 473–475.https://doi.org/10.1109/ISVLSI.2015.130

Shafique, M., Hafiz, R., Rehman, S., El-Harouni, W., & Henkel, J. (2016). Invited - Cross-layer approximate computing: From logic to architectures. Proceedings - Design Automation Conference, 05-09-June-2016. https://doi.org/10.1145/2897937.2906199

Unctad. (2003). AFRICA’S TECHNOLOGY GAP Case Studies on Kenya, Ghana, Uganda and Tanzania.

Venkataramani, S., Chippa, V. K., Chakradhar, S. T., Roy, K., & Raghunathan, A. (2013). Quality programmable vector processors for approximate computing. MICRO 2013 - Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture, 1–12. https://doi.org/10.1145/2540708.2540710

Venkataramani, S., Raghunathan, A., Liu, J., & Shoaib, M. (2015). Scalable-effort classifiers for energy-efficient machine learning. Proceedings - Design Automation Conference, 2015-June. https://doi.org/10.1145/2744769.2744904

Yellu, P., Boskov, N., Kinsy, M. A., & Yu, Q. (2019). Security threats in approximate computing systems. Proceedings of the ACM Great Lakes Symposium on VLSI, GLSVLSI, 387–392. https://doi.org/10.1145/3299874.3319453

SDG. (2018). SDG. Https://Sdgs.Un.Org.

Fabrício Filho, João & Bittencourt Felzmann, Isaías & Azevedo, Rodolfo & Wanner, Lucas. (2020). AxRAM: A lightweight implicit interface for approximate data access. Future Generation Computer Systems. 113. 10.1016/j.future.2020.07.029.

Multiplier Designs for Edge Detection Application,” in 2021 Great Lakes Symposium on VLSI GLSVLSI '21, USA, June 22–25, 2021, pp. 371-377.doi: https://doi.org/10.1145/3453688.3461482.

Page saved!
Add default layout Add text Add image/symbol Add audio/video
Preview page
Close

Canvas height (pixels)

Background colour

Background image (max: 2mb)

Clear
Drop files here to upload


Close

Email

Website address

Facebook

Twitter

Instagram

Profile image

Close

Slide 1 image (max 2mb)

Clear
Drop files here to upload

Slide 1 video (YouTube/Vimeo embed code)

Clear

Image 1 Caption

Slide 2 image (max 2mb)

Clear
Drop files here to upload

Slide 2 video (YouTube/Vimeo embed code)

Clear

Image 2 Caption

Slide 3 image (max 2mb)

Clear
Drop files here to upload

Slide 3 video (YouTube/Vimeo embed code)

Clear

Image 3 Caption

Slide 4 image (max 2mb)

Clear
Drop files here to upload

Slide 4 video (YouTube/Vimeo embed code)

Clear

Image 4 Caption

Slide 5 image (max 2mb)

Clear
Drop files here to upload

Slide 5 video (YouTube/Vimeo embed code)

Clear

Image 5 Caption

Slide 6 image (max 2mb)

Clear
Drop files here to upload

Slide 6 video (YouTube/Vimeo embed code)

Clear

Image 6 Caption

Slide 7 image (max 2mb)

Clear
Drop files here to upload

Slide 7 video (YouTube/Vimeo embed code)

Clear

Image 7 Caption

Slide 8 image (max 2mb)

Clear
Drop files here to upload

Slide 8 video (YouTube/Vimeo embed code)

Clear

Image 8 Caption

Slide 9 image (max 2mb)

Clear
Drop files here to upload

Slide 9 video (YouTube/Vimeo embed code)

Clear

Image 9 Caption

Slide 10 image (max 2mb)

Clear
Drop files here to upload

Slide 20 video (YouTube/Vimeo embed code)

Clear

Image 10 Caption

Caption font

Text

Close

Image (max size: 2mb)

Clear

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Video/audio player embed code (YouTube/Vimeo/Soundcloud)

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Image (max size: 2mb)

Clear
Drop files here to upload
multimedi.png
0.6 MB
multimedi.png
Check
Error

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Image description/alt-tag

Image caption

Image link

Rollover Image (max size: 2mb)

Clear
Drop files here to upload

Or drag a symbol into the upload area

Border colour

Rotate

Skew (x-axis)

Skew (y-axis)

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

Close

Text

Rollover Text

Background colour

Rotate

GO TO CONFERENCE