Computing platform

A computing platform or digital platform[1] is the environment in which a piece of software is executed. It may be the hardware or the operating system (OS), even a web browser and associated application programming interfaces, or other underlying software, as long as the program code is executed with it. Computing platforms have different abstraction levels, including a computer architecture, an OS, or runtime libraries.[2] A computing platform is the stage on which computer programs can run.

A platform can be seen both as a constraint on the software development process, in that different platforms provide different functionality and restrictions; and as an assistance to the development process, in that they provide low-level functionality ready-made. For example, an OS may be a platform that abstracts the underlying differences in hardware and provides a generic command for saving files or accessing the network.

Components

Platforms may also include:

  • Hardware alone, in the case of small embedded systems. Embedded systems can access hardware directly, without an OS; this is referred to as running on "bare metal".
  • A browser in the case of web-based software. The browser itself runs on a hardware+OS platform, but this is not relevant to software running within the browser.[3]
  • An application, such as a spreadsheet or word processor, which hosts software written in an application-specific scripting language, such as an Excel macro. This can be extended to writing fully-fledged applications with the Microsoft Office suite as a platform.[4]
  • Software frameworks that provide ready-made functionality.
  • Cloud computing and Platform as a Service. Extending the idea of a software framework, these allow application developers to build software out of components that are hosted not by the developer, but by the provider, with internet communication linking them together.[5] The social networking sites Twitter and Facebook are also considered development platforms.[6][7]
  • A virtual machine (VM) such as the Java virtual machine or .NET CLR. Applications are compiled into a format similar to machine code, known as bytecode, which is then executed by the VM.
  • A virtualized version of a complete system, including virtualized hardware, OS, software, and storage. These allow, for instance, a typical Windows program to run on what is physically a Mac.

Some architectures have multiple layers, with each layer acting as a platform to the one above it. In general, a component only has to be adapted to the layer immediately beneath it. For instance, a Java program has to be written to use the Java virtual machine (JVM) and associated libraries as a platform but does not have to be adapted to run for the Windows, Linux or Macintosh OS platforms. However, the JVM, the layer beneath the application, does have to be built separately for each OS.[8]

Operating system examples

Desktop, laptop, server

Mobile

Android Nougat screenshot 20170116-070000
Android, a popular mobile operating system

Software frameworks

Hardware examples

Ordered roughly, from more common types to less common types:

See also

References

  1. ^ "What I Talk About When I Talk About Platforms". martinfowler.com. Retrieved 2018-03-18.
  2. ^ "platform". Free On-line Dictionary of Computing
  3. ^ Andrew Binstock (July 2, 2012). "Google's Redefinition of the Browser As Platform". Dr. Dobbs.
  4. ^ Chip Wilson; Alan Josephson. "Microsoft Office as a Platform for Software + Services". Microsoft Developer Network.
  5. ^ "What Is PAAS?". Interoute.
  6. ^ "Twitter Development Platform - Twitter Developers".
  7. ^ "Facebook Development Platform Launches..." August 15, 2006.
  8. ^ "Platform independence in Java's Byte Code". Stack Overflow.

External links

ABC@Home

ABC@Home was an educational and non-profit network computing project finding abc-triples related to the abc conjecture in number theory.

Using the Berkeley Open Infrastructure for Network Computing (BOINC) distributed computing platform. In March 2011, there were more than 7,300 active participants from 114 countries with a total BOINC credit of more than 2.9 billion, reporting about 10 teraflops (10 trillion operations per second) of processing power.In 2011, the project met its goal of finding all abc-triples of at most 18 digits. By 2015, the project had found 23.8 million triples in total, and ceased operations soon after.

AWS Lambda

AWS Lambda is an event-driven, serverless computing platform provided by Amazon as a part of the Amazon Web Services. It is a computing service that runs code in response to events and automatically manages the computing resources required by that code. It was introduced in November 2014.The purpose of Lambda, as compared to AWS EC2, is to simplify building smaller, on-demand applications that are responsive to events and new information. AWS targets starting a Lambda instance within milliseconds of an event. Node.js, Python, Java, Go, Ruby and C# through .NET Core are all officially supported as of 2018, and other languages can be supported via call-outs. However, some runtimes, such as the Java virtual machine, may be slower than others to start.AWS Lambda supports securely running native Linux executables via calling out from a supported runtime such as Node.js. For example, Haskell code can be run on Lambda.AWS Lambda was designed for use cases such as image or object uploads to Amazon S3, updates to DynamoDB tables, responding to website clicks or reacting to sensor readings from an IoT connected device. AWS Lambda can also be used to automatically provision back-end services triggered by custom HTTP requests, and "spin down" such services when not in use, to save resources. These custom HTTP requests are configured in AWS API Gateway, which can also handle authentication and authorization in conjunction with AWS Cognito.

Unlike Amazon EC2, which is priced by the hour but metered by the second, AWS Lambda is metered in increments of 100 milliseconds. Usage amounts below a documented threshold fall within the AWS Lambda free tier - which does not expire 12 months after account signup, unlike the free tier for some AWS services.

Amazon Redshift

Amazon Redshift is an Internet hosting service and data warehouse product which forms part of the larger cloud-computing platform Amazon Web Services. It is built on top of technology from the massive parallel processing (MPP) data warehouse company ParAccel (later acquired by Actian), to handle large scale data sets and database migrations. Redshift differs from Amazon's other hosted database offering, Amazon RDS, in its ability to handle analytic workloads on big data data sets stored by a column-oriented DBMS principle.

Amazon Redshift is based on an older version of PostgreSQL 8.0.2, and Redshift has made changes to that version. An initial preview beta was released in November 2012 and a full release was made available on February 15, 2013. The service can handle connections from most other applications using ODBC and JDBC connections.According to Cloud Data Warehouse report published by Forrester in Q4 2018, Amazon Redshift has the largest Cloud data warehouse deployments, with more than 6,500 deployments.Amazon has listed a number of business intelligence software proprietors as partners and tested tools in their "APN Partner" program, including Actian, Actuate Corporation, Alteryx, Dundas Data Visualization, IBM Cognos, Infor, Logi Analytics, Looker (company), MicroStrategy, Pentaho, Qlik, SiSense, Tableau Software, and Yellowfin. Partner companies providing data integration tools include Informatica and SnapLogic. System integration and consulting partners include Accenture, Deloitte, Capgemini and DXC Technology.

Azure

Azure may refer to:

Azure (color), a hue of blue

Shades of azure, shades and variations

Azure (barley), a malting barley variety

Azure (design magazine), Toronto, Ontario

Azure (magazine), a periodical on Jewish thought and identity

Azure (heraldry), a blue tincture on flags or coats of arms

Azure (album), an album by jazz flugelhornist Art Farmer

"Azure" (song), by Duke Ellington

Azure, Alberta, a locality in Canada

Azure, Montana, a census-designated place in the United States

Azure Window, a former natural arch in Malta

Bentley Azure, a car

Microsoft Azure, a cloud computing platform

Mozilla Azure, a graphics abstraction API

Cloud computing

Cloud computing makes computer system resources, especially storage and computing power, available on demand without direct active management by the user. The term is generally used to describe data centers available to many users over the Internet. Large clouds, predominant today, often have functions distributed over multiple locations from central servers. If the connection to the user is relatively close, it may be designated an Edge server.

Clouds may be limited to a single organization (enterprise clouds,) be available to many organizations (public cloud,) or a combination of both (hybrid cloud.) The largest public cloud is Amazon AWS.

Cloud computing relies on sharing of resources to achieve coherence and economies of scale.

Advocates of public and hybrid clouds note that cloud computing allows companies to avoid or minimize up-front IT infrastructure costs. Proponents also claim that cloud computing allows enterprises to get their applications up and running faster, with improved manageability and less maintenance, and that it enables IT teams to more rapidly adjust resources to meet fluctuating and unpredictable demand. Cloud providers typically use a "pay-as-you-go" model, which can lead to unexpected operating expenses if administrators are not familiarized with cloud-pricing models.The availability of high-capacity networks, low-cost computers and storage devices as well as the widespread adoption of hardware virtualization, service-oriented architecture, and autonomic and utility computing has led to growth in cloud computing.

Ethereum Classic

Ethereum Classic is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality. It provides a decentralized Turing-complete virtual machine, the Ethereum Virtual Machine (EVM), which can execute scripts using an international network of public nodes. Ethereum Classic and Ethereum have a value token called "ether", which can be transferred between participants, stored in a cryptocurrency wallet and is used to compensate participant nodes for computations performed in the Ethereum Platform. The classic ether token is traded on cryptocurrency exchanges under the ticker symbol ETC. Gas, an internal transaction pricing mechanism, is used to prevent spam on the network and allocate resources proportionally to the incentive offered by the request.

Gridcoin

Gridcoin implements a "Proof-of-Research" (POR) scheme, which rewards users with Gridcoin for performing useful scientific computations on the Berkeley Open Infrastructure for Network Computing (BOINC), a distributed computing platform. Gridcoin uses a more energy efficient proof-of-stake system - although it fails to explicitly address the energy cost of computing power.Gridcoin attempts to ease the environmental energy impact of cryptocurrency mining through its Proof-of-Research and Proof-of-Stake protocols.

Hardware virtualization

Hardware virtualization is the virtualization of computers as complete hardware platforms, certain logical abstractions of their componentry, or only the functionality required to run various operating systems. Virtualization hides the physical characteristics of a computing platform from the users, presenting instead an abstract computing platform. At its origins, the software that controlled virtualization was called a "control program", but the terms "hypervisor" or "virtual machine monitor" became preferred over time.

I/O request packet

I/O request packets (IRPs) are kernel mode structures that are used by Windows Driver Model (WDM) and Windows NT device drivers to communicate with each other and with the operating system. They are data structures that describe I/O requests, and can be equally well thought of as "I/O request descriptors" or similar. Rather than passing a large number of small arguments (such as buffer address, buffer size, I/O function type, etc.) to a driver, all of these parameters are passed via a single pointer to this persistent data structure. The IRP with all of its parameters can be put on a queue if the I/O request cannot be performed immediately. I/O completion is reported back to the I/O manager by passing its address to a routine for that purpose, IoCompleteRequest. The IRP may be repurposed as a special kernel APC object if such is required to report completion of the I/O to the requesting thread.

IRPs are typically created by the I/O Manager in response to I/O requests from user mode. However, IRPs are sometimes created by the plug-and-play manager, power manager, and other system components, and can also be created by drivers and then passed to other drivers.

The I/O request packet mechanism is also used by Digital Equipment Corporation's VMS operating system, and was used by Digital's RSX-11 family of operating systems before that.

Logical partition

A logical partition, commonly called an LPAR, is a subset of a computer's hardware resources, virtualized as a separate computer. In effect, a physical machine can be partitioned into multiple logical partitions, each hosting a separate instance of an operating system.

Moorestown (computing platform)

Moorestown is the Intel Corporation's handheld MID and smartphone platform based on Lincroft system-on-a-chip with an Atom processor core, Langwell input / output Platform Controller Hub(I/O PCH), and a Briertown Power Management IC. Announced in 2010, the platform was demonstrated running Moblin Linux.

Nebula (computing platform)

Nebula is a Federal cloud computing platform that originated at NASA Ames Research Center at Moffett Field, California. The Nebula project was run under the ACITS 2 contract originally held by Perot Systems. Nebula hosted many advanced research projects. One application Open Sourced by NASA and developed by the Nebula project, 'nova' became one of the two founding projects of the OpenStack project.

Novena (computing platform)

Novena is an open-source computing hardware project designed by Andrew "bunnie" Huang and Sean "Xobs" Cross.

OpenQASM

Open Quantum Assembly Language (OpenQASM; pronounced open kazm) is an intermediate representation for quantum instructions. The language was first described in a paper published in July 2017, and source code was released as part of IBM's Quantum Information Software Kit (QISKit) for use with their IBM Q Experience cloud quantum computing platform. The language has similar qualities to traditional hardware description languages such as Verilog.

Similarity Matrix of Proteins

Similarity Matrix of Proteins (SIMAP) is a database of protein similarities created using distributed computing. It is freely accessible for scientific purposes. SIMAP uses the FASTA algorithm to precalculate protein similarity, while another application uses hidden Markov models to search for protein domains. SIMAP is a joint project of the Technical University of Munich, the Helmholtz Zentrum München, and the University of Vienna.

Trusted Computing

Trusted Computing (TC) is a technology developed and promoted by the Trusted Computing Group. The term is taken from the field of trusted systems and has a specialized meaning. With Trusted Computing, the computer will consistently behave in expected ways, and those behaviors will be enforced by computer hardware and software. Enforcing this behavior is achieved by loading the hardware with a unique encryption key inaccessible to the rest of the system.

TC is controversial as the hardware is not only secured for its owner, but also secured against its owner. Such controversy has led opponents of trusted computing, such as free software activist Richard Stallman, to refer to it instead as treacherous computing, even to the point where some scholarly articles have begun to place scare quotes around "trusted computing".Trusted Computing proponents such as International Data Corporation, the Enterprise Strategy Group and Endpoint Technologies Associates claim the technology will make computers safer, less prone to viruses and malware, and thus more reliable from an end-user perspective. They also claim that Trusted Computing will allow computers and servers to offer improved computer security over that which is currently available. Opponents often claim this technology will be used primarily to enforce digital rights management policies and not to increase computer security.Chip manufacturers Intel and AMD, hardware manufacturers such as HP and Dell, and operating system providers such as Microsoft include Trusted Computing in their products if enabled. The U.S. Army requires that every new PC it purchases comes with a Trusted Platform Module (TPM). As of July 3, 2007, so does virtually the entire United States Department of Defense.

Trusted Computing Group

The Trusted Computing Group is a group formed by AMD, Hewlett-Packard, IBM, Intel and Microsoft to implement Trusted Computing concepts across personal computers. The Trusted Computing Group was announced in 2003 as the successor to the Trusted Computing Platform Alliance which was previously formed in 1999. Many other companies have since joined the Trusted Computing Group, including Wave Systems Corp, Digital Management, Inc., Cisco, Lenovo, Infineon, Juniper Networks and Fujitsu.

ΜFluids@Home

μFluids@Home is a computer simulation of two-phase flow behavior in microgravity and microfluidics problems at Purdue University, using the Surface Evolver program.

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.