Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Emerging Computing Techniques in Engineering
Emerging Computing Techniques in Engineering
Emerging Computing Techniques in Engineering
Ebook481 pages3 hours

Emerging Computing Techniques in Engineering

Rating: 0 out of 5 stars

()

Read preview

About this ebook

The book is divided into three volumes to cover all computing topics. This is the first volume and it has 23 chapters. It focuses on general computing techniques such as cloud computing, grid computing, pervasive computing, optical computing, web computing, parallel computing, distributed computing, high-performance computing, GPU computing, exascale & extreme computing, in-memory computing, embedded computing, quantum computing, and green computing
LanguageEnglish
PublisherAuthorHouse
Release dateNov 17, 2022
ISBN9781665569163
Emerging Computing Techniques in Engineering
Author

Matthew N. O. Sadiku

Matthew N. O. Sadiku is a professor emeritus at Prairie View A & M University, Prairie View, Texas. He is a Life fellow of IEEE. He is the author of over 1,000 professional articles and over 100 books including “Elements of Electromagnetics” (Oxford University Press, 7th ed., 2018), “Fundamentals of Electric Circuits” (McGraw-Hill, 7 ed.,2021, with C. Alexander), “Computational Electromagnetics with MATLAB” (CRC Press, 4th ed., 2019), and “Emerging Internet-based Technologies” (CRC Press, 2019). In addition to the engineering books, he has written Christian books including “Secrets of Successful Marriages,” “How to Discover God’s Will for Your Life,” and commentaries on all the books of the New Testament Bible. Some of his books have been translated into French, Korean, Chinese, Italian, Portuguese, and Spanish. He can be reached via email at sadiku@ieee.org

Read more from Matthew N. O. Sadiku

Related to Emerging Computing Techniques in Engineering

Related ebooks

Teaching Methods & Materials For You

View More

Related articles

Reviews for Emerging Computing Techniques in Engineering

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Emerging Computing Techniques in Engineering - Matthew N. O. Sadiku

    Dedication

    To my daughter

    Motunrayo O. Adeko

    BRIEFT TABLE OF CONTENTS

    FOR VOLUME 1

    Chapter 1     CLOUD COMPUTING

    Chapter 2     FOG COMPUTING

    Chapter 3     MOBILE COMPUTING

    Chapter 4     EDGE COMPUTING

    Chapter 5     UTILITY COMPUTING

    Chapter 6     PERVASIVE/ AND UBIQUITOUS COMPUTING

    Chapter 7     GRID COMPUTING

    Chapter 8     WEB COMPUTING

    Chapter 9     PARALLEL COMPUTING

    Chapter 10   DISTRIBUTED COMPUTING

    Chapter 11   CLUSTER COMPUTING

    Chapter 12   HIGH-PERFORMANCE COMPUTING

    Chapter 13   HIGH-THROUGHPUT COMPUTING

    Chapter 14   GPU COMPUTING

    Chapter 15   MANY-TASK COMPUTING

    Chapter 16   EXASCALE AND EXTREME COMPUTING

    Chapter 17   IN-MEMORY COMPUTING

    Chapter 18   PROACTIVE COMPUTING

    Chapter 19   EMBEDDED COMPUTING

    Chapter 20   QUANTUM COMPUTING

    Chapter 21   OPTICAL COMPUTING

    Chapter 22   REVERSIBLE COMPUTING

    Chapter 23   GREEN COMPUTING

    DETAILED TABLE OF

    CONTENTS FOR VOLUME 1

    Dedication

    Preface

    About The Author

    Chapter 1     CLOUD COMPUTING

    1.1 INTRODUCTION

    1.2 TECHNOLOGICAL ENABLERS

    1.3 CLOUD SERVICES

    1.4 DEPLOYMENT MODELS

    1.5 MOBILE CLOUD COMPUTING

    1.6 APPLICATION DOMAINS

    1.7 CLOUD MANUFACTURING

    1.8 CLOUD COMPUTING IN HEALTHCARE

    1.9 GREEN CLOUD COMPUTING

    1.10 CLOUD OF THINGS

    1.11 BIG DATA AND CLOUD COMPUTING

    1.12 CLOUD ECONOMY

    1.13 BENEFITS

    1.14 CHALLENGES

    1.15 FUTURE TRENDS

    1.16 CONCLUSION

    REFERENCES

    Chapter 2     FOG COMPUTING

    2.1 INTRODUCTION

    2.2 NEED FOR FOG COMPUTING

    2.3 FOG COMPUTING VS EDGE COMPUTING

    2.4 FEATURES OF FOG COMPUTING

    2.5 APPLICATIONS

    2.6 BENEFITS

    2.7 CHALLENGES

    2.8 CONCLUSION

    REFERENCES

    Chapter 3     MOBILE COMPUTING

    3.1 INTRODUCTION

    3.2 CONCEPT OF MOBILE COMPUTING

    3.3 CHARACTISTICS OF MOBILE COMPUTING

    3.4 APPLICATIONS

    3.5 BENEFITS

    3.6 CHALLENGES

    3.7 CONCLUSION

    REFERENCES

    Chapter 4     EDGE COMPUTING

    4.1 INTRODUCTION

    4.2 CONCEPT OF EDGE COMPUTING

    4.3 CAPABILITIES AND DRIVERS

    4.4 MOBILE EDGE COMPUTING

    4.5 APPLICATIONS

    4.6 BENEFITS

    4.7 CHALLENGES

    4.8 CONCLUSION

    REFERENCES

    Chapter 5     UTILITY COMPUTING

    5.1 INTRODUCTION

    5.2 UTILITY-BASED MODEL

    5.2 DIFFERENCE BETWEEN CLOUD AND UTILITY COMPUTING

    5.3 PROPERTIES OF UTILITY COMPUTING

    5.4 APPLICATIONS

    5.5 BENEFITS AND CHALLENGES

    5.6 CONCLUSION

    REFERENCES

    Chapter 6     PERVASIVE/ AND UBIQUITOUS COMPUTING

    6.1 INTRODUCTION

    6.2 PERVASIVE VS. UBIQUITOUS

    6.3 CONCEPT OF PERVASIVE COMPUTING

    6.4 CHARACTERISTICS OF PERVASIVE COMPUTNG

    6.5 APPLICATIONS

    6.6 ISSUES AND CHALLENGES

    6.7 CONCLUSION

    REFERENCES

    Chapter 7     GRID COMPUTING

    7.1 INTRODUCTION

    7.2 FEATURES OF GRID COMPUTING

    7.3 APPLICATIONS

    7.4 BENEFITS

    7.5 CHALLENGES

    7.6 CONCLUSION

    REFERENCES

    Chapter 8     WEB COMPUTING

    8.1 INTRODUCTION

    8.2 BASIC FEATURES OF WEB COMPUTING

    8.3 APPLICATIONS

    8.4 CHALLENGES

    8.5 CONCLUSION

    REFERENCES

    Chapter 9     PARALLEL COMPUTING

    9.1 INTRODUCTION

    9.2 CONCEPT OF PARALLEL COMPUTING

    9.3 APPLICATIONS

    9.4 BENEFITS AND CHALLENGES

    9.5 CONCLUSION

    REFERENCES

    Chapter 10   DISTRIBUTED COMPUTING

    10.1 INTRODUCTION

    10.2 CONCEPT OF DISTRIBUTED COMPUTING

    10.3 DISTRIBUTED COMPUTING TERMINOLOGIES

    10.4 APPLICATIONS

    10.5 BENEFITS

    10.6 CHALLENGES

    10.7 CONCLUSION

    REFERENCES

    Chapter 11   CLUSTER COMPUTING

    11.1 INTRODUCTION

    11.2 CONCEPT OF CLUSTER COMPUTING

    11.3 TYPES OF COMPUTER CLUSTERS

    11.4 CLUSTER COMPONENTS

    11.5 APPLICATIONS

    11.6 BENEFITS

    11.7 CHALLENGES

    11.8 CONCLUSION

    REFERENCES

    Chapter 12   HIGH-PERFORMANCE COMPUTING

    12.1 INTRODUCTION

    12.2 CONCEPT OF HPC

    12.3 APPLICATIONS

    12.4 BENEFITS

    12.5 CHALLENGES

    15.6 CONCLUSION

    REFERENCES

    Chapter 13   HIGH-THROUGHPUT COMPUTING

    13.1 INTRODUCTION

    13.2 CONCEPT OF HPC

    13.3 HTC AND HPC

    13.4 APPLICATIONS

    13.5 BENEFITS AND CHALLENGES

    13.6 CONCLUSION

    REFERENCES

    Chapter 14   GPU COMPUTING

    14.1 INTRODUCTION

    14.2 BASICS OF GPU COMPUTING

    14.3 GPGPU COMPUTING

    14.3 APPLICATIONS

    14.4 BENEFTIS AND LIMITATIONS

    14.5 CONCLUSION

    REFERENCES

    Chapter 15   MANY-TASK COMPUTING

    15.1 INTRODUCTION

    15.2 CONCEPT OF MANY-TASK COMUTING

    15.3 APPLICATIONS

    15.4 BENEFITS AND CHALLENGES

    15.4 CONCLUSION

    REFERENCES

    Chapter 16   EXASCALE AND EXTREME COMPUTING

    16.1 INTRODUCTION

    16.2 CONCEPTS OF EXASCALE AND EXTREMECOMPUTING

    16.3 WHY GO THE EXASCALE?

    16.4 APPLICATIONS OF EXASCALE COMPUTING

    16.5 EXASCALE COMPUTING PROJECT

    16.6 APPLICATIONS OF EXTREME COMPUTING

    16.7 BENEFITS

    16.8 CHALLENGES

    16.9 CONCLUSION

    REFERENCES

    Chapter 17   IN-MEMORY COMPUTING

    17.1 INTRODUCTION

    17.2 COMPONENTS OF IN-MEMORY COMPUTING

    17.3 HOW IN-MEMORY COMPUTING WORKS

    17.4 APPLICATIONS

    17.5 BENEFITS

    17.6 CHALLENGES

    17.7 CONCLUSION

    REFERENCES

    Chapter 18   PROACTIVE COMPUTING

    18.1 INTRODUCTION

    18.2 PROACTIVE SYSTEMS

    18.3 RELATIONSHIP WITH UBIQUITOUS COMPUTING

    18.4 APPLICATIONS

    18.5 BENEFITS AND CHALLENGES

    18.6 CONCLUSION

    REFERENCES

    Chapter 19   EMBEDDED COMPUTING

    19.1 INTRODUCTION

    19.2 BASICS OF EMBEDDED SYSTEMS

    19.3 TYPICAL EMBEDDED SYSTEMS

    19.4 APPLICATIONS

    19.5 BENEFITS

    19.6 CHALLENGES

    19.7 CONCLUSION

    REFERENCES

    Chapter 20   QUANTUM COMPUTING

    20.1 INTRODUCTION

    20.2 QUANTUM MECHANICS

    20.3 QUANTUM COMPUTERS

    20.4 APPLICATIONS

    20.5 BENEFITS

    20.6 CHALLENGES

    20.7 CONCLUSION

    REFERENCES

    Chapter 21   OPTICAL COMPUTING

    21.1 INTRODUCTION

    21.2 OPTICAL COMPUTERS

    21.3 CONCEPT OF OPTICAL COMPUTING

    21.4 APPLICATIONS

    21.5 BENEFITS

    21.6 CHALLENGES

    21.7 CONCLUSION

    REFERENCES

    Chapter 22   REVERSIBLE COMPUTING

    22.1 INTRODUCTION

    22.2 CONCEPT OF REVERSIBLE COMPUTING

    22.3 REVERSIBLE COMPUTING SYSTEMS

    22.4 APPLICATIONS

    22.5 BENEFITS

    22.6 CHALLENGES

    22.7 CONCLUSION

    REFERENCES

    Chapter 23   GREEN COMPUTING

    23.1 INTRODUCTION

    23.2 HISTORICAL BACKGROUND

    23.3 GENERAL BACKGROUND

    23.4 CONCEPT OF GREEN COMPUTING

    23.5 IMPLEMENTATION OF GREEN COMPUTING

    23.6 APPLICATIONS

    23.7 BENEFITS

    23.8 CHALLENGES

    23.9 CURRENT TRENDS ON GC

    23.10 CONCLUSION

    REFERENCES

    Appendix A

    Preface

    One may regard the whole history of computer science as a record of continuous attempts to discover, study, and implement computing ideas. Computing technology greatly affects nearly every aspect of our modern life including education, entertainment, transportation, communication, economy, medicine, engineering, and science. The history of computing is one of punctuated equilibrium, bringing new and unexpected changes. Mainframes gave birth to minicomputers, which gave birth to workstations, which gave birth to personal computers, which gave birth to smartphones. Modern scientific computing is approaching the point where novel computational algorithms will become indispensable tools.

    Although computation was present long before computers were invented, the realization occurred only in the last decade. By the 1980s, computation became so important that it was utterly indispensable in several fields. Computation has become a third leg of science, joining theory and experiment. Thus, computing has been evolving gradually and is now regarded as science. The computer is the tool, while computation is the principle.

    We are in the era of computing. Computing is experiencing its most exciting moments in history, permeating nearly all areas of human activities. Computing is any activity that involves using computers. It is any goal-oriented activity requiring the use of computers. It includes designing and building hardware and software systems for a wide range of purposes. It has resulted in deep changes in infrastructures and development practices of computing. It is a critically important, integral component of modern life.

    Advancement in technology has led to several computing schemes such as cloud computing, grid computing, green computing, DNA computing, self-aware computing, global computing, etc. No single book can comprehensively cover the breadth of computing technologies available to the scientists and engineers. To the best of the author’s knowledge, this is the first time a book will cover all these computing techniques. As far as the author is aware, there are more than 140 computing techniques and this book covers the most important 70 of them. Each chapter acts as a tutorial that introduces readers to an important aspect of computing. The book is more or less an encyclopedia on computing. It covers both the old and the emerging types of computing. The old techniques provide useful information for the new techniques.

    The book is divided into three volumes to cover all the topics. This is the first volume and it has 22 chapters. It focuses on general computing techniques such as cloud computing, grid computing, pervasive computing, optical computing, web computing, parallel computing, distributed computing, high-performance computing, GPU computing, exascale & extreme computing, in-memory computing,embedded computing, quantum computing, and green computing Other computing schemes not covered in the three volumes are listed in Appendix A.

    This book is a friendly introduction to various computing techniques. The presentation is clear, succinct, and informal, without proofs or rigorous definitions. The book provides researchers, students, and professionals a comprehensive introduction, applications, benefits, and challenges for each computing technology. The author was motivated to write this book partly due to the lack of a single source of reference on these technologies. These are monographs on some of them like Cloud computing, but there is none that combines the computing technologies. Hence, the book will help a beginner to have an introductory knowledge about these technologies. The main objective of the author is to provide a concise treatment that is easily digestible for each computing scheme. It is hoped that the book will be useful to practicing engineers, computer scientists, and information business managers.

    I would like to thank the myriad of people who made this work possible. I am grateful to Dr. Pamela Obiomon, dean of the College of Engineering at Prairie View A&M University, and Dr. Kelvin Kirby, head of the Department of Electrical and Computer Engineering for their constant support and appreciation. I would like to thank Dr. Sarhan Musa, Dr. Sudarshan Nelatury, Dr. Mahamadou Temberly, Dr. Emmanual Shadare, and Adedamola Omotoso for their contributions. A well-deserved gratitude goes to my wife Janet Oluyinka for her constant support and prayer.

    -Matthew N. O. Sadiku, Prairie View, Texas

    About The Author

    Matthew N. O. Sadiku received his B. Sc. degree in 1978 from Ahmadu Bello University, Zaria, Nigeria and his M.Sc. and Ph.D. degrees from Tennessee Technological University, Cookeville, TN in 1982 and 1984 respectively. From 1984 to 1988, he was an assistant professor at Florida Atlantic University, Boca Raton, FL where he did graduate work in computer science. From 1988 to 2000, he was at Temple University, Philadelphia, PA, where he became a full professor. From 2000 to 2002, he was with Lucent/Avaya, Holmdel, NJ as a system engineer and with Boeing Satellite Systems, Los Angeles, CA as a senior scientist. He is presently a professor emeritus of electrical and computer engineering at Prairie View A&M University, Prairie View, TX.

    He is the author of over 1,020 professional papers and over 100 books including the standard textbooks Elements of Electromagnetics (Oxford University Press, 7th ed., 2018), Fundamentals of Electric Circuits (McGraw-Hill, 7th ed., 2020, with C. Alexander), Computational Electromagnetics with MATLAB (CRC Press, 4th ed., 2019), Principles of Modern Communication Systems (Cambridge University Press, 2017, with S. O. Agbo), and "Signals and Systems: A Primer with MATLAB (CRC Press, 2016, with W. H. Ali). In addition to the engineering books, he has written Christian books including Secrets of Successful Marriages, How to Discover God’s Will for Your Life," and commentaries on all the books of the New Testament Bible. Some of his books have been translated into French, Korean, Chinese (and Chinese Long Form in Taiwan), Italian, Portuguese, and Spanish.

    He was the recipient of the 2000 McGraw-Hill/Jacob Millman Award for outstanding contributions in the field of electrical engineering. He was also the recipient of Regents Professor award for 2012-2013 by the Texas A&M University System. He is a registered professional engineer and a Life Fellow of the Institute of Electrical and Electronics Engineers (IEEE) for contributions to computational electromagnetics and engineering education. He was the IEEE Region 2 Student Activities Committee Chairman. He was an associate editor for IEEE Transactions on Education. He is also a member of Association for Computing Machinery (ACM) and American Society of Engineering Education (ASEE). His current research interests are in the areas of computational electromagnetic, computer networks, and engineering education. His works can be found in his autobiography, My Life and Work (Trafford Publishing, 2017) or his website: www.matthew-sadiku.com. He can be reached via email at sadiku@ieee.org

    CHAPTER 1

    CLOUD COMPUTING

    The achiever is the only individual who is truly alive.

    - George Allen

    1.1 INTRODUCTION

    The recent emergence of cloud computing is one of the major advances in the history of computing. Cloud computing (CC) is a computing paradigm for delivering computing services (such as servers, storage, databases, networking, software, analytics, and more) over the the cloud or Internet with pay-as-you-go pricing. Hence, cloud computing is also called Internet computing. The term cloud computing was introduced in 1961 when computer scientist John McCarthy predicted that computing would become a public utility. CC was first commercialized in 2006 by Amazon’s Elastic Compute Cloud (EC2). The word cloud is a metaphor for describing web as a space where computing has been preinstalled and exist as a service. It originated from the habit of drawing the Internet as a fluffy cloud in network diagrams. The cloud enables you to access your information from anywhere at any time. Figure 1.1 shows a conceptual diagram of cloud computing [1].

    Cloud computing is a means of pooling and sharing hardware and software resources on a massive scale. Users and businesses can access applications from anywhere in the world at any time. Companies offering these computing services are called cloud providers and typically charge for cloud computing services based on usage. Their aim is making computing a utility such as water, gas, electricity, and telephone services. The main objective of cloud computing is to make a better use of distributed resources and solve large scale computation problems [2].

    If used properly, cloud computing is a technology with great opportunity for businesses of all sizes. An industry needs the cloud for the following reasons [3]: (1) Mobile workforce: empowering employees to sift real time data and make decisions on the fly, (2) Minimize disruptions: with the right sort of cloud setup problems can be anticipated and solved quickly, (3) Collaboration: with the right technology, collaboration – as well as transparency and accountability – are easily managed, (4) Innovation: product innovation and process innovation are powerful weapons to survive or thrive in such an environment, (5) Lower cost: No hardware procurement, maintenance, or staff is needed to operate the systems.

    This chapter provides an introduction to cloud computing. It begins by looking at the essential characteristics and technological enablers of cloud computing. It covers different cloud services, deployment models, mobile cloud computing, and cloud service provides. It examines the benefits and challenges of cloud computing. The last section provides some conclusions.

    Figure 1.1 A typical cloud computing [2].

    1.2 TECHNOLOGICAL ENABLERS

    The cloud computing architecture consists of a massive network of interconnected servers, often with a user-friendly front-end interface, which allows users to select services. Cloud computing allows access to the collection of computing resources via the Internet. Software and associated resources are hosted in the cloud and can be assessed by the user’s computing devices such as desktop, laptop, smartphone, and tablet.

    Cloud computing is essentially a combination of many pre-existing technologies. The key technological enablers for cloud computing include: virtualization technologies, grid computing, distributed computing, multi-tenancy, and elasticity [4-6].

    1.Virtualization: The key feature of cloud computing is the idea of virtualization, which enables an operating system to run on several hardware deployments. It is one of the technologies that enable elasticity. Virtualization decouples the software from the hardware. It is the technology that uses a physical resource such as a server and divides it into virtual resources known as virtual machines. There are three forms of virtualization: server virtualization, storage virtualization, and network virtualization. Server virtualization increases resource sharing by masking server resources like processors, operating systems, RAM, etc. for server users. Storage virtualization is pooling of physical storage from storage devices into a single storage device which is managed centrally. Network visualization is a means of combining resources in a network by splitting up the available bandwidth into independent channels.

    2.Grid computing: As distributed computing, grid computing was motivated by the electrical power grid. Cloud computing is regarded as an evolution of grid computing. Grid computing refers to a distributed architecture of a large number of computers connected to solve a complex problem. It allows the computers on the network to work on a task together, behaving like a supercomputer [7].

    3.Distributed Computing: Cloud computing is a distributed computing paradigm, which allows for highly elastic resource pool. Clouds are built to share computing, share memory, share storage, and other resources. Load balancing establishes an algorithm for assigning tasks to the cloud nodes. All computers in distributed systems are quite independent and do not share resources. Each computer has its own responsibility.

    4.Multitenancy: This involves sharing a single set of infrastructure across several customers and stakeholders. Virtualization helps to deliver infrastructure multitenant capability. Multitenancy implies that multiple tenants share computational resources, storage, database, services, computing, memory, and other resources with other tenants. This sharing violates the confidentiality of tenants. For secure multi-tenancy, there should be a degree of isolation among tenant data.

    5.Elasticity: This refers to the ability to automatically scale up and handle high volumes of traffic or scale down and use less resources when needed, maximizing the use of resources. It implies that users can grow or shrink infrastructure resources dynamically based on the current demand. When automated, elasticity allows a cloud provider to continuously monitor a customer’s infrastructure and scale it on-demand.

    1.3 CLOUD SERVICES

    Cloud computing (CC) is not a single produce or piece of technology. Rather, it is a system, primarily providing three different services. The services provided by CC are shown in Figure 1.2 and explained as follows.

    Infrastructure-as-a-Service (IaaS): This is the simplest of cloud computing offerings. It involves the delivery of huge computing resources such as the capacity of storage, processing, operating systems, servers, computing power, firewalls, bandwidth, and network which form the underlying cloud infrastructure. It allows users to rent any form of hardware and software and remotely access computing resources on a pay-per-use basis. The major advantages of IaaS are pay per use, security, and reliability. IaaS is also known as Hardware-as-a-Service (HaaS). An example of IaaS is the Amazon Elastic Compute Cloud (EC2), IBM and Amazon use IaaS.

    Platform-as-a-Service (PaaS): This supports the development of web applications quickly and easily. The customer can build his own applications, which run on the cloud provider’s infrastructure. It has emerged due to the suboptimal nature of IaaS for cloud computing and the creation of web applications. Many big companies seek to dominate the platform of cloud computing, as Microsoft dominated personal computer (PC). Examples of PaaS are Google App Engine and Microsoft Azure.

    Software-as-a-Service (SaaS): This is also known as Software-as-a-Server or Software-on-demand. This provides a service (software applications over the Internet) that is directly consumable by the end-user. It is a software deployed over the Internet. This is a pay-as-you-go service. It seeks to replace the applications running on PC. Google, Twitter, and Facebooks are typical examples of SaaS. Gmail, AOL, Yahoo, and Skpe all use SaaS.

    As cloud computing becomes mature, several service types are being introduced and overlaid on these architectures. These include Hardware-as-a-Service (HaaS), Application-as-a-Service (AaaS), Network-as-a-Service (NaaS), data-Storage-as-a-Service (dSaaS),

    Enjoying the preview?
    Page 1 of 1