Jon-Ross Stanley-Owusu
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.
Jon-Ross Stanley-Owusu
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.
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):
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.
Slide 1 image (max 2mb)
Slide 1 video (YouTube/Vimeo embed code)
Image 1 Caption
Slide 2 image (max 2mb)
Slide 2 video (YouTube/Vimeo embed code)
Image 2 Caption
Slide 3 image (max 2mb)
Slide 3 video (YouTube/Vimeo embed code)
Image 3 Caption
Slide 4 image (max 2mb)
Slide 4 video (YouTube/Vimeo embed code)
Image 4 Caption
Slide 5 image (max 2mb)
Slide 5 video (YouTube/Vimeo embed code)
Image 5 Caption
Slide 6 image (max 2mb)
Slide 6 video (YouTube/Vimeo embed code)
Image 6 Caption
Slide 7 image (max 2mb)
Slide 7 video (YouTube/Vimeo embed code)
Image 7 Caption
Slide 8 image (max 2mb)
Slide 8 video (YouTube/Vimeo embed code)
Image 8 Caption
Slide 9 image (max 2mb)
Slide 9 video (YouTube/Vimeo embed code)
Image 9 Caption
Slide 10 image (max 2mb)
Slide 20 video (YouTube/Vimeo embed code)
Image 10 Caption
Caption font
Text
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)
Image (max size: 2mb)
Or drag a symbol into the upload area
Image description/alt-tag
Image caption
Image link
Rollover Image (max size: 2mb)
Or drag a symbol into the upload area
Border colour
Rotate
Skew (x-axis)
Skew (y-axis)