What is High Performance Computing (HPC)?
High Performance Computing (HPC) is a practice of aggregating computing power in a way that delivers much higher performance than one could get out of a typical desktop computer or workstation or server. HPC is the ability to process data and perform complex calculations at high speeds.
It is through IoT data that groundbreaking scientific discoveries are made, game-changing innovations are fueled, and quality of life is improved for billions of people around the globe.
- Best example of HPC solution is the supercomputer.
- Supercomputer contains thousands of compute nodes that work together to complete one or more tasks.
- The IBM Blue Gene/P supercomputer Intrepid at Argonne National Laboratory runs 164,000 processor cores using normal datacentre air conditioning, grouped in 40 racks/cabinets connected by a high-speed 3-D torus network.
- The cloud platform, based on Dell EMC™ PowerEdge™ servers with Intel® Xeon® processors and VMware® vCloud® Suite, is designed to process massive amounts of data.
What HPC contains (in general)?
- Computer Architecture
- Vector Computers, Distributed Systems, Clusters
- Network Connections
- InfiniBand, Ethernet, Proprietary
- Frameworks / platforms / Applications
- Open source, commercial
- Programming models
- MPI (Message Passing Interface), SHMEM (Shared Memory), etc.
Why HPC is needed in Smart-City projects?
Sensors and connected Internet of Things (IoT) devices which are spread throughout the city generate enormous amounts of data. In many cases, this data must be analyzed in a timely manner, if not instantaneously, and this is where HPC systems enter the smart-city solutions.
HPC is already playing a key role in helping cities pursue objectives of societal safety, efficient use of resources, and an overall better quality of life.
Smart cities leverage data from connected devices and powerful analytics tools to do following…
- Keep traffic flowing smoothly
- Ensure public safety
- Reduce pollution
- Maintain public assets
- Improve the delivery of city services
- & so on..
HPC is needed when…
- Complete a time-consuming operation in less time
- Perform a high number of operations per seconds & provide predictions
- Derive business insights from historical data stored in single / multiple sources
- Complete an operation under a tight deadline
Different types of HPC
- Parallel Computing / Parallel Processing à Multi-core, GPU,…
- Distributed Computing
- Grid Computing Vs Clusters
- Cloud Computing
- Edge Computing
- Fog Computing
Let me brief about each type computing below…
Parallel Computing / Parallel Processing
- Parallel computing is the use of two or more processors (cores, computers) in combination to solve a single problem.
- Parallel computing is a model that divides a task into multiple sub-tasks and executes them simultaneously on different processors.
- Parallel computing infrastructure is standing within a single facility – many processors are installed in one or separate servers which are connected together.
- Parallel computers based on interconnected networks need to have some kind of routing to enable the passing of messages between processors.
- Programmer is responsible for many details of communication between processors. When a processor needs access to data in another processor, it is usually the task of the programmer to explicitly define how and when to communicate.
- Most supercomputers employ parallel computing principles to operate.
- Distributed systems are systems that have multiple computers located in different locations.
- These computers in a distributed system work on the same program.
- The computers communicate with the help of message passing. Upon completion of computing, the result is collated and presented to the user.
Parallel Computing Vs Distributed Computing
Number of Computer Systems Involved
- Parallel computing generally requires one computer with multiple processors. All the processors work towards completing the same task. Thus, they will share resources and data.
- In distributed computing, several computer systems are involved. Here multiple autonomous computer systems work on the divided tasks. These computer systems can be located at different geographical locations as well.
Dependency Between Processes
- In parallel computing, the tasks to be solved are divided into multiple smaller parts. These smaller tasks are assigned to multiple processors. Here the outcome of one task might be the input of another. This increases dependency between the processors. We can also say, parallel computing environments are tightly coupled.
- Some distributed systems might be loosely coupled, while others might be tightly coupled.
- In parallel computing environments, the number of processors you can add is restricted. This is because the bus connecting the processors and the memory can handle a limited number of connections. This limitation makes the parallel systems less scalable.
- Distributed computing environments are more scalable. This is because the computers are connected over the network and communicate by passing messages.
- In systems implementing parallel computing, all the processors share the same memory. They also share the same communication medium and network. The processors communicate with each other with the help of shared memory.
- Distributed systems, on the other hand, have their own memory and processors.
- In parallel systems, all the processes share the same master clock for synchronization. Since all the processors are hosted on the same physical system, they do not need any synchronization algorithms.
- In distributed systems, the individual processing systems do not have access to any central clock. Hence, they need to implement synchronization algorithms.
- Parallel computing is often used in places requiring higher and faster processing power. For example, supercomputers. Since there are no lags in the passing of messages, these systems have high speed and efficiency.
- Distributed computing is used when computers are located at different geographical locations. In these scenarios, speed is generally not a crucial matter. They are the preferred choice when scalability is required.
What is Multi-Core & Why Multi-Core?
To deal with the problem of power consumption and overheating the major central processing unit (CPU or processor) manufacturers started to produce power-efficient processors with multiple cores.
- All cores fit into a single processor socket.
- Multi-core is a shared memory multiprocessor – All cores share the same memory.
- The core is the computing unit of the processor and in multi-core processors, each core is independent and can access the same memory concurrently.
- Multi-core processors have brought parallel computing to desktop computers.
- Multi-threaded programming enables multi-core processing.
- Interaction with OS..
- OS perceives each core as a separate processor
- OS scheduler maps threads/processes to different cores
- Most major OS support multi-core today
What applications benefit from Multi-Core?
Below applications generally utilize multi-core processors in a great way:
- Database servers
- Web servers
- Multimedia applications
- Scientific applications
- Editing a photo while recording a TV show through a digital video recorder
- Downloading software while running an anti-virus program
- Anything that can be threaded today will map efficiently to multi-core
Graphical Processing Unit (GPU)
- To provide a separate dedicated graphics resources including a graphics processor and memory.
- To relieve some of the burden of the main system resources like below, which would otherwise get saturated with graphical operations and I/O requests.
- Central Processing Unit
- Main Memory
- System Bus
- GPU is tailored for highly parallel operation, thus GPUs have many parallel execution units than CPU
- GPUs have significantly faster and more advanced memory interfaces
Benefits of GPU:
- Serves as both a programmable graphics processor and a scalable parallel computing platform
- Highly parallel, highly multithreaded multiprocessor optimized for visual computing
- Heterogeneous Systems: combine a GPU with a CPU
- Processor optimized for 2D/3D graphics, video gaming, visual computing, and display
- Provide real-time visual interaction (Digital Twin, AR/VR etc.) with computed objects via graphics images, and video
Clusters (a type of Distributed Computing)
- In cluster computing each node within a cluster is an independent system, with its own OS, memory and in some cases its own file system
- Processors on one node cannot directly access the memory on the other nodes
- Programs or software run on clusters usually employ a procedure called “message passing” to get data and execution code from one node to another
Why clusters is needed?
- More computing power
- Better reliability by orchestrating a number of low cost commercial off-the-shelf computers
- Improve performance and availability over that of a single computer
- More cost-effective than setting up physical servers
- Example – Big data cluster
Benefits of cluster:
- Low Cost (compared to physical server setup & its upgradation)
- Run Jobs Anytime Anywhere
Grid Computing (a type of Distributed Computing)
- Grid computing combines computers from multiple administrative domains to reach a common goal
- Grids tend to be more loosely coupled, heterogeneous, and geographically dispersed
- Special kind of distributed computing in which different computers within the same network share one or more resources
- Data Grids – distributes data across the grid
- Compute Grids – for complex computations by splitting task into multiple parts, and execute them on different grid nodes in parallel
Benefits of Grid Computing:
- Can solve larger, more complex problems in a shorter time
- Easier to collaborate with other organizations
- Make better use of existing hardware
Cloud computing is a model for enabling ubiquitous, convenient, on‐demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Computing paradigm shift where computing responsibility is moved away from personal computers or an individual application server or own DataCenter to a “cloud” of computers. Users of the cloud only need to be concerned with the computing service being asked for, as the underlying details of how it is achieved are hidden.
Virtualization: Cloud Computing virtualizes system by pooling and sharing resources.
- On‐demand self‐service
- Broad network access
- Resource pooling
- Rapid elasticity
- Measured service
Cloud Components are – Clients, DataCenter and Internet
- Lower Costs – “Pay-as-you-go” model, Reduced software costs, Lower compute costs
- Ease of utilization
- Quality of Service
- Outsourced IT management
- Simplified maintenance and upgrade
- Low Barrier to Entry
- Unlimited storage capacity
- Universal document access
- Latest version availability
- Requires a constant Internet connection
- Security and Privacy issues
- Latency concerns
Different deployment models available in cloud – [ Only pros & cons are highlighted below as lot of articles detailing each one of them can be easily found on internet 🙂 ]
1. Public Cloud – SaaS, PaaS, IaaS
- Low Cost
- Availability & Scalability
- Misconfiguration & Customization
- Shared Resources
- Responsibility of Customer
2. Private Cloud
- Customization (by own, by third party)
- Visibility & Control
- Hybrid integration
3. Virtual Private Cloud
- Cheaper than private clouds
- More well-rounded than a public cloud
- Maintenance and performance
- It is not a private cloud
- Typical public cloud problems
4. Hybrid Cloud
- Operational complexity
5. Multi Cloud – This refers to one that leverages cloud computing services from more than a single cloud provider.
Traditional IoT networks collect and analyze data before sending it to a central cloud computer, where it can be processed and acted on. Edge computing, meanwhile, allows for more on-device computing and analytics.
- It brings data storage and compute power closer to the device or data source.
- It’s about processing real-time data near the data source, which is considered the ‘edge’ of the network.
- Benefits are – improved performance and reduced operational costs.
- Edge computing brings analytics capabilities closer to the devices.
- Besides collecting data for transmission to the cloud, edge computing also processes, analyses, and performs necessary actions on the collected data locally.
- It can help lower dependence on the cloud and improve the speed of data processing as a result.
Early smart city projects were constrained by the technology of the time. Wi-Fi and LTE 4G networks limited the number of devices that could be deployed. Issues were like…
- Edge servers lacked the power for analytics
- Hence, most data from the edge had to be sent to the cloud
- Round-trip latency ruled out time-sensitive responses
Recent advances make smart city solutions practical at scale:
- Enables powerful processing at the edge. Off-the-shelf graphics processing units (GPUs) can be embedded in compact edge devices suitable for roadways, parking structures, etc. Processing some data at the edge is faster, and it conserves bandwidth.
- Provides better edge connectivity. Compared to Wi-Fi and 4G networks, 5G networks are faster and connect far more devices—up to one million devices in one square kilometer (.38 square miles).
- Enables distributed cloud architectures. Applications built as containerized microservices can be distributed across multiple clouds, municipal datacenters, and the edge. When practical, processing happens closer to data sources.
- Enables fast application development, deployment with better data security. With DevSecOps methodology, code is continuously deployed and integrated. Here, automated security is built in. New features are available in days—sometimes in less than an hour.
10 years ago, cities only had a small number of embedded sensors, but now they’re everywhere—from roadways to thermostats and even trash bins. This ability to connect, communicate, and remotely manage a wide variety of devices gave rise to a new trend—fog computing in smart cities.
- The term “fog computing” was created by Cisco.
- An extension of cloud computing to the edge of the network.
- Rather than sending all of the collected data up to the cloud, fog computing implies that data will instead be processed locally on edge devices, that’s why it is also sometimes called “edge computing.”
- Data is processed and analyzed in fog nodes—decentralized devices such as industrial controllers, switches, routers etc.
- While it helps manage data processing and provides many benefits for enterprise cybersecurity, it also offers solid financial savings.
- The central goal of fog computing is to make big data smaller and more manageable.
- It reduces the amount of data that needs to be sent to the cloud.
- A minimal amount of data sent to the cloud
- Low data latency
- Reduced bandwidth
- Enhanced data security
Cloud Vs Fog Vs Edge Computing –> Comparison illustration in short
Take the case of Fujian University of Technology in China. For its Smart City initiative, the university created a high-performance cloud platform to mine and analyze real-time data on local road usage and deliver insights that enable residents to travel more efficiently through reduced traffic congestion. The cloud platform, based on Dell EMC™ PowerEdge™ servers with Intel® Xeon® processors and VMware® vCloud® Suite, is designed to process massive amounts of data.
- This solution was developed to give local citizens real-time updates on traffic conditions for them to make better travel choices
- Obtains a detailed picture of road usage & processes…
- Problem was that existing IT infrastructure couldn’t process the large quantities of data coming into our computer center from traffic cameras and vehicle-based sensors. They needed a big data solution.
In the SC17 event (Super-Computing 2017) show in Denver, a session called “The Era of Smart Cities — Reimagining Urban Life with HPC.”
Intelligent devices enabled with HPC ‘at the edge’ have potential to optimize energy generation and delivery, emergency response or the flow of goods and services, and to allow urban infrastructures to adapt autonomously to changes and events, such as severe storms or traffic congestion
Smart city technology can even improve food safety inspections and help identify children most at risk for lead poisoning. HPC is supporting the creation of breakthrough computational models to make all of this possible
Ultimately, the smart city movement is leading us to urban communities that can better manage user expectations, optimize the allocation of limited resources, provide a safer and more sustainable environment, foster innovation and give residents a personalized, always-on end-user experience. But to get there, we need more than connected devices that generate constant streams of data. We need HPC systems to help us analyze all that data at lightning-fast speeds. And that’s why HPC matters in the smart city.
As-a-Service Models for Smart City Solutions
Sensing-as-a-Service (SaS) Model Supported by IoT
Sensing as a Service is a concept that is influenced by the cloud computing term Everything as a Service. The proposed Sensing as a Service middleware enables consumers to access data generated by IoT devices owned by other entities. Consumers are charged for the amount of sensor data used.
- Sensing as a Service (SaS) is an IoT-based cloud service prototype that facilitates access to the IoT.
- It provides an efficient delivery of sensor data based on demand via a data stream to different users to meet the requirements.
- The IoT comprises of virtually interconnected objects or smart devices that are remarkably physically identifiable and are fit for sensing, processing and interacting with the events.
- An application that is based on IoT domain (ecosystem) can be developed by integrating the services of smart devices.
- Sensors in Smart devices are used to perform tasks of an IoT application. These sensors accumulate data around their deployment environment.
- Data collectors or sensors obtain necessary information through an IoT application on a pay-as-you-go fashion and the data distribution and collection are managed via cloud.
- The real time data gathered from sensor devices is generally cleaned and transformed into new data streams to make it understandable and usable by users.
Application of SaS model in our real life is depicted below :
Business model of “Sensing-as-a-Service”
Sensing based service-oriented-middleware for “Sensing-as-a-Service”
Internal details of “as-a-Service” models
Vendors & users of various “as-a-Service” models
Smart City use-cases that demand HPC infrastructure
1. License plate recognition (LPR)
Camera automatically captures an image of the vehicle’s license plate + Transforms that image into alphanumeric characters using optical character recognition or similar software + Compares the plate number acquired to one or more databases of vehicles of interest to law enforcement and other agencies and to alert the officer when a vehicle of interest has been observed.
HPC à The automated capture, analysis and comparison of vehicle license plates typically occurs within seconds, alerting the officer and dispatching notification almost immediately when a wanted plate is observed.
2. Traffic management & analytics
Traffic cameras are an innovative and extremely functional use of video surveillance technology. They are generally fixed in traffic signals, in busy roads and intersections of the highway. Sometimes they record traffic patterns for future study and observation or monitoring traffic.
Few distinct advantages of traffic surveillance cameras:
- Commuters – Traffic cameras placed at common congestion points on highways, freeways, interstates and major arteries often share feeds with government and news agencies, and this in turn pass them onto commuters in the form of traffic reports. Normally, traffic flows do not vary much from day to day, but in the event of a severe accident or road closure, a traffic alert can be extremely valuable for a time-crunched commuter.
- Connected public transport tops the list at a 74% implementation rate. Today’s state-of-the-art public transportation systems combine real-time monitoring of public transportation vehicles’ locations and routes with notifications and personalized travel news to passengers. Smooth and fast public transport is of growing importance in cities that suffer from traffic congestion. This system gathers real-time information about the whereabouts of individual buses, then system informs passengers about the best routes to their destination + connects the buses with traffic lights and each other.
- Data – Traffic cameras that simply monitor car flows on roads and major arteries are often maintained by cities, counties and departments of transportation. Along with monitoring the roads for accidents or major closures, footage from traffic cameras is influential in decisions regarding future road development and construction.
- Laws – Cameras used to capture metadata related to speed and red-light laws are effective in properly planning the deployment of public safety personnel.
- Safety – Visible surveillance cameras posted at intersections can encourage safe driving habits and discourage moving violations.
3. City park safety monitoring
Unfortunately, city parks have a tendency to become a hotspot for illicit activities, especially under the cover of night. That is why many cities are installing security systems in and around the parks. The park should be a bright spot – something the entire community can be proud of.
Security cameras in city parks allow police officers and other authorized city officials to view the camera at any time of the day or night to make sure the parks are safe and in good order.
A few key components of a security camera system for city park would include IoT Gateways with recording capabilities, which are able to record video on-board and transmit on-demand via Fiber connection or Cellular 4G/LTE and 5G. These systems are paired with HD/high-megapixel IP cameras, panoramic 360-degree cameras and HD Pan Tilt Zoom (PTZ) cameras that all help monitor the city parks 24/7.
As part of a city surveillance system, cameras can provide an element of safety for children. Security personnel can monitor the area remotely to look for any suspicious persons or activity around the children. If a child gets hurt, city administrators can review this footage to view the incident and act accordingly.
4. Waste management solution
Most waste collection operators empty containers according to predefined schedules. This is not a very efficient approach since it leads to the unproductive use of waste containers and unnecessary fuel consumption by waste collecting trucks.
IoT-enabled smart city solutions help to optimize waste collecting schedules by tracking waste levels, as well as providing route optimization and operational analytics. Each waste container gets a sensor that gathers the data about the level of the waste in a container. Once it is close to a certain threshold, the waste management solution receives a sensor record, processes it and sends a notification to a truck driver’s mobile app.
5. Soil moisture sensor and sprinkler system optimization
With the new LORA-WAN* enabled Soil Moisture sensors, an irrigation controller is directly linked to the absolute moisture requirements of a site’s vegetation. When the sensor detects dry conditions, the next scheduled watering cycle takes place.
If a site’s soil moisture level is above the threshold, the irrigation cycle is suspended. There are just two basic components: an in-ground sensor and a user interface in the cloud to enable remote operators, usually from public works department, to control watering cycles remotely.
* Wi-Fi sends large amounts of data at a high speed over a short range, whereas LoRaWAN transfers small bits of data a few times hourly or daily, over multiple kilometers.
6. Prevention of illegal dumping
Illegal dumping, or illegal garbage disposal, is a major problem that hinders the development of any city. Illegally dumping on city streets and neighborhoods, parks and creeks not only pollutes the environment, but also damages the city’s reputation and creates crime and safety problems.
Mobile surveillance solution that can monitor the streets and help authorities catch those who are engaging in illegal waste dumping.
Many cities are implementing a surveillance approach utilizing high-end video analytics to properly detect and apprehend criminals involved in this illegal dumping activity. Videos of dumping incidents, including their license plates, are reviewed by police and successfully investigated. Copies of the videos are then delivered to county prosecutors for prosecution under most state littering laws.
7. Air quality monitoring
Urbanization and economic population growth have resulted in increased growth in vehicle use, industrial activities and energy consumption in cities around the world à which is leading to pervasive urban air pollution.
- For city officials to fully understand and improve air quality conditions, pollutants must be accurately measured, monitored and managed.
- Currently most cities measure air pollution using a collection of large environmental monitoring stations. These stations are accurate in measuring air quality data, but their high cost often limits the quantity of deployments, resulting in gaps in coverage.
- Recent advances in sensor technology has led to air quality monitoring solutions that are wireless using LORA-WAN, very smaller in size, less expensive and more localized compared to legacy systems.
Real-time and location-based air quality monitoring allows citizens making better and more informed choices about how they spend their time indoors or outdoors.
8. Thermal camera monitoring of overheating transformers
Particularly when it comes to industrial maintenance, thermography testing is one approach that’s become much more popular over the years.
It uses condition-monitoring technique
Thermal video imaging enables users to identify potential areas of equipment failure and limit downtime.
9. Copper theft monitoring
Many cities across North America has affected by this & it is happening in the remote places like – vacant lots, remote city lighting, pump stations, water wells, irrigation systems, rural substations and critical infrastructure, abandoned plants and many other locations.
- Intelligent video surveillance systems offer a practical, efficient resolution to this problem. After setting up a “virtual” perimeter around the fence or area at risk, video analytics technology provides true object orientation and recognition, along with real-time alerts that can prevent the theft.
- Whether a dog wander into this perimeter or trash is blown in it, the system differentiates those objects from real criminal activity. If a suspicious man approaches the area, the system detects the size and orientation immediately, and triggers an event within the system.
- At the dispatch center, or perhaps the utility control center, an alert will sound and a red box appears on a video monitor that draws attention to the violated area. Personnel double-click on the red box to instantly review video of the man entering the gate while simultaneously watching the perpetrator real-time in a second window. Security uses this information to take the appropriate countermeasure.
10. Vegetation management
Tree contact with transmission lines is a leading cause of electric power outages and a common cause of past regional blackouts, including the August 2003 blackout that affected 50 million people in the Northeast United States and Canada.
North American Electric Reliability Corporation (NERC) as the Electric Reliability Organization (ERO) has enforced Reliability Standards that addresses vegetation management covering tree trimming. Electric service reliability and public safety require clearance between trees and transmission lines in the right-of-way be maintained at all times.
A city-wide video surveillance can be configured to record & upload video frames to a centralized “vegetation management” system every day. Armed with this information, utility companies can easily assess the vegetation state around power lines, all done remotely via a web portal or other video client.
11. Smart Lighting
Keeping the streets bright is more than just a good means of attracting well-heeled professionals and tax-paying small businesses to a growing city. Smart lighting contributes to improved quality of life in a ways that are easy to see and appreciate.
Daylight Harvesting – Connected lighting helps daylight-harvesting systems do better at their job of reducing the need for electrical power. By automating processes like setting brightness levels and tracking daily use, these implementations improve a cities’ ability to stay green economically.
Load Management – Just as smart buildings measure occupancy to decide when to turn on room lights, facilities like municipal vehicle lots can count cars to understand their peak hours and make the best use of site power during outages.
Ambiance and Utility Improvements – intelligent lighting to provide situationally appropriate street-level illumination. Programmable lights might help us to guide late-night foot traffic after a big concert or maintain improved visibility around trendy bars following spikes in street crime.
HPC - Few reference architectures
Architecture layers >> Simple
Architecture layers >> Complex
Few abbreviations / meanings below :
- BRE – Building Research Establishment
- BPM – Business Process Management
- Data fusion – is the process of getting data from multiple sources in order to build more sophisticated models and understand more about a use-case.
- ICT – information and communications technology
Architecture – Database system distribution in smart-city projects
Architecture – Overall infrastructure elements of smart-city projects