Tuesday, October 28, 2014

Oil Runtime Compiler (ORC)


Orc(Oil Runtime Compiler) is a just-in-time compiler implemented as a library and set of associated tools for compiling and executing simple programs that operate on arrays of data.  Orc is unlike other general-purpose JIT engines: the Orc bytecode and language is designed so that it can be readily converted into SIMD instructions.  This translates to interesting language features and limitations: Orc has built-in capability for SIMD-friendly operations such as shuffling, saturated addition and subtraction, but only works on arrays of data.  This makes Orc good for applications such as audio processing, array math, and signal analysis & image processing.
The “code” is currently an intermediate form that is roughly a platform-agnostic assembly language that understands variables and simple arrays. It’s an intermediate form in the sense that it’s currently only stored as a list of structs — there isn’t a parser yet. 
The Orc language is an assembly-like language,The Orc tools then convert this into an intermediate form (as C source code) that includes the bytecode, functions for automatically calling the compiled bytecode from C, and backup functions (in C) that are used when Orc is not available or unable to compile the bytecode into efficient SIMD code.  Orc generates code optimized for the specific processor that is running, using instruction sets that are available.ORC will include the compiler support for speculative multi-threading
Since Orc creates backup functions, you can optionally use many Orc-using libraries and applications without actually having the Orc library — this is useful for transitioning an application into using Orc.  However, when Orc is disabled, the application is unable to use the SIMD code generated by Orc.
Additional opcode sets can be created and registered in a manner similar to how the liborc-float and liborc-pixel libraries. In order to make full use of new opcode sets, one must also define rules for translating these opcodes into target code. The example libraries do this by registering rule sets for various targets (mainly SSE) for their opcode sets. Orc provides low-level API for generating target code. Not all possible target instructions can be generated with the target API, so developers may need to modify and add functions to the main Orc library as necessary to generate target code.
Reference:

Wednesday, October 15, 2014

Media Transport MMT for 4K/8K Video Transmission

Media Transport MMT for 4K/8K Video Transmission
MPEG MMT [15] succeeds MPEG-2 TS as the media transport solution for broadcasting and IP network content distribution, with the aim of serving new applications like UHD, second screen, ..., etc, with full support of HTML5 and simplification of  packetization and synchronization with a pure IP based transport. It has the following technology innovations:
● Convergence of IP transport and HTML 5 presentation
● Multiplexing of various streaming components from different sources
● Simplification of TS stack and easy conversion between storage file format and streaming format
● Support multiple devices and hybird delivery
● Advanced QoS/QoE engineering features

To achieve efficient delivery of MPEG Media data over heterogeneous IP networks, MMT defines
encapsulation formats, delivery protocols, and signalling message formats as shown




● “Everything that can be streamed over the Internet will be”
● Netflix/Youtube/ has announced 4K streaming
● Netflix rules the streaming world (at least in North America)
● How does Netflix's streaming video service work?
– Cloud-based virtual (and actual) servers on Amazon's EC2
– HTTP used as both a network and media protocol
– Network content caching provided by third-party Content  Delivery Networks (Akamai, Level 3, Limelight)
● A too quick conclusion: The best way to stream 4K/8K video is  to deploy a global HTTP-based delivery service on top of Amazon's Cloud with a helping hand from Akamai and friends As a result of Netflix's lead, will all 4K/8K streams originate from within the Cloud?

– Will 4K/8K streaming simply be another form of Cloud-based video?
● Apart from Netflix's streaming activities, video (including 4K/8K and Digital Cinema) is already moving to the Cloud
– Cloud-based production
– Cloud-based workflow
– Cloud-based storage

● Is the Cloud ready for 4K/8K streaming?
– Should we worry about the stress that 4K/8K streaming, with  its extreme bit-rates, will place on Internet servers and Cloud infrastructure?

How high will the streaming video spike be when:
– 1080p High Definition streaming is common with bit-rates of  5+ Mbps (versus only 300-500 Kbps now)?
– LTE/4G networks are ubiquitous and Tablets and SmartPhones  start receiving 2-6 Mbps video streams?
● The spike will be off the chart with 25 Mbps 4K streams

CloudMost Internet Video is transmitted from the Cloud
● The rapid growth of Internet Video has triggered a dramatic increase in Data Centres worldwide ...
● ... which has ignited explosive growth in the number of  Internet servers
● Estimated 75 million Internet servers today (Gautam Shroff, The Intelligent Web)
– But could be much higher: Actual total unknown!!
● 785,293,473 web sites worldwide as of November 2013 (Netcraft Web Server Survey)
– Microsoft has 1 million servers (source: Steve Balmer, Microsoft)
– Google is on its way to 10 million servers (source: Google)
4K/8K Challenge: Efficient Protocols
● Streaming protocols in wide use today were not designed for the 25-100 megabits/second rates of 4K/8K streaming
● HTTP (Hyper-Text Transport Protocol) problems:
– Stateless, text-based protocol designed for delivering HTML
and images, not video
● HTTP 2.0 offers some efficiency improvements
● RTP (Real-time Transport Protocol) problems:
– No support for network quality of service (QoS)
– RTP's accompanying Real Time Control Protocol adds
complexity
– Must be modified on an ad-hoc basis to meet the requirements
of high bit-rate, low-latency streaming (see: BBC Research &
Development WHP 268)

4K/8K Challenge: Efficient Protocols
● Streaming protocols in wide use today were not designed for  the 25-100 megabits/second rates of 4K/8K streaming
● HTTP (Hyper-Text Transport Protocol) problems:
– Stateless, text-based protocol designed for delivering HTML and images, not video
● HTTP 2.0 offers some efficiency improvements
● RTP (Real-time Transport Protocol) problems:
– No support for network quality of service (QoS)
– RTP's accompanying Real Time Control Protocol adds complexity
– Must be modified on an ad-hoc basis to meet the requirements of high bit-rate, low-latency streaming (see: BBC Research & Development WHP 268)

MMT in the Future Internet
Even though it is nowadays clear that almost all transport-layer protocols are converging to IP
regardless of their characteristics, today’s Internet architecture is not optimal for multimedia
services. Therefore, future networks such as CCNs will not only provide a better network
architecture for multimedia delivery, but will also require a multimedia transport solution that is
more aware of a delivery network’s requirements. MMT address such requirements, both by
exposing the detailed information required by the underlying delivery layer that is agnostic to the
specific media type and by defining an application-layer protocol that is optimized for multimedia
delivery.

Reference:
1. Streaming 4K/8K Video over IP Networks
2. Codec Technology
3. Media Transport MMT for 4K/8K Video Transmission


Friday, October 10, 2014

Network-as-a-Service (NaaS)

Network-as-a-service (NaaS) is a business model for delivering network services virtually over the Internet on a pay-per-use or monthly subscription basis. From the customer's point of view, the only thing required to create an information technology (IT) network is one computer, an Internet connection and access to the provider's NaaS portal. This concept can be appealing to new business owners because it saves them from spending money on network hardware and the staff it takes to manage a network in-house. In essence, the network becomes a utility, paid for just like electricity or water or heat. Because the network is virtual, all its complexities are hidden from view.

Requirements
For a NaaS model to be used in DCs, we believe that the following requirements must be satisfied:

Requirement 1:
Integration with current DC hardware. Existing DCs constitute a significant investment. The use of
commodity networking equipment, which typically lacks programmability features, reduces the cost of large DC deployments. For NaaS to become successful, it must not require expensive, non-commodity, networking hardware.

Requirement 2:
High-level programming model. NaaS should expose a programming model that is natural for software developers to use, hiding low-level details of network packet processing and not exposing the full complexity of the physical network topology in the DC.

Requirement 3:
Scalability and multi-tenant isolation. Compared to existing software-based router solutions , NaaS must be able to support a multitude of different applications, written by different organisations and running concurrently, unaware of each other. Therefore, to be successful, a NaaS model requires strong isolation of the different network resources offered to tenants.





Saguna and Akamai Showcase the First CDN Operating from the Mobile Base Station



· first Content Delivery Network (CDN) that operates from within the Mobile Base Station.

· This new class of CDNs leverages real-time radio congestion monitoring and proximity to mobile users to deliver superior user experience, new monetization opportunities and improved network economics.

· Getting content as close as possible to the mobile user is crucial to reducing round-trip-time (RTT) and making accurate performance tuning decisions, in order to improve the mobile Internet user experience.

· Radio network edge placement, in concert with the CDN serving the content, is especially beneficial when trying to optimize HTTPS content, since this type of content cannot be cached or optimized inside the

mobile network using standard “transparent” caching methods or optimization techniques. http://www.saguna.net/news-events/press-releases/saguna-and-akamai-showcase-the-world-s-first-content-delivery-network-operating-from-the-mobile-base-station/

Its seems that they are just a caching solution which sit at RAN level – so they can be faster than a CDN sitting in core and not doing compression/video optimization etc.

http://www.saguna.net/products/accelerate/

Thursday, October 9, 2014

Infrastructure as a Service (IaaS)

Infrastructure as a Service (IaaS) is a form of cloud computing that provides virtualized computing resources over the Internet. IaaS is one of three main categories of cloud computing services, alongside Software as a Service (SaaS) and Platform as a Service (PaaS).

In an IaaS model, a third-party provider hosts hardware, software, servers, storage and other infrastructure components on behalf of its users. IaaS providers also host users' applications and handle tasks including system maintenance, backup and resiliency planning. IaaS platforms offer highly scalable resources that can be adjusted on-demand. IaaS customers pay on a per-use basis, typically by the hour, week or month. Some providers also charge customers based on the amount of virtual machine space they use. This pay-as-you-go model eliminates the capital expense of deploying in-house hardware and software. However, users should monitor their IaaS environments closely to avoid being charged for unauthorized services.




The following are salient examples of how IaaS can be utilised by enterprise:

  • Infrastructure designed for Enterprizes; by internal business networks, such as private clouds and virtual local area networks, which utilise pooled server and networking resources and in which a business can store their data and run the applications they need to operate day-to-day. Expanding businesses can scale their infrastructure in accordance with their growth whilst private clouds (accessible only by the business itself) can protect the storage and transfer of the sensitive data that some businesses are required to handle.
  • Cloud hosting (Public/Prive/Hybrid); the hosting of websites on virtual servers which are founded upon pooled resources from underlying physical servers. A website hosted in the cloud, for example, can benefit from the redundancy provided by a vast network of physical servers and on demand scalability to deal with unexpected demands placed on the website.
  • Virtual Data Centers (VDC) independent of locations; a virtualized network of interconnected virtual servers which can be used to offer enhanced cloud hosting capabilities, enterprise IT infrastructure or to integrate all of these operations within either a private or public cloud implementation.
A typical Infrastructure as a Service offering can deliver the following features and benefits:

  • Scalability; resource is available as and when the client needs it and, therefore, there are no delays in expanding capacity or the wastage of unused capacity
  • Zero hardware investment ; the underlying physical hardware that supports an IaaS service is set up and maintained by the cloud provider, saving the time and cost of doing so on the client side
  • Cost based on Utility; the service can be accessed on demand and the client only pays for the resource that they actually use
  • Location Free; the service can usually be accessed from any location as long as there is an internet connection and the security protocol of the cloud allows it
  • Securing locations of data centers; services available through a public cloud, or private clouds hosted externally with the cloud provider, benefit from the physical security afforded to the servers which are hosted within a data centers.