The M2DC Image Appliance: how much technology is needed in image processing today?
Nov. 5, 2018, 12:01 p.m.
Authors: Lars Kosmann (CEWE), Christian Pieper (OFFIS) and Joao Costa (XLAB)
Nowadays the way society makes use of photography is volatile, under a mindset that is much different from that of ten years ago when digital cameras started to populate our daily lives over our smartphones. The M2DC partner CEWE was from the early beginning ahead in time, to better address the needs of today. The M2DC photo appliance is providing them with novel and robust technology to optimize processes and reduce costs, contributing to position CEWE as leader in this rising market.
CEWE is Europe’s biggest photo print service provider, producing high quality photo products. With 57 years of experience in photo finishing CEWE started back in the analog age of film processing. CEWE’s success is driven by investing in, and introducing new technologies, which results in CEWE being at the forefront of market development. Driven by this philosophy, CEWE introduced production processes for digital photo products more than 20 years ago. Customers can provide images and order photo products via websites, desktop clients and, even before the smartphone revolution started, mobile phone clients. This strategy transformed CEWE into the digital company it is today, providing digital photo print products ranging from single images to complex products like photobooks, as well as cloud services with CEWE MYPHOTOS.
As of today, and in defiance of new trends once more using analog film, only a very small fraction of orders include analog processing of film rolls. Customers can provide images bundled with their orders via several clients: Browser-based web clients offer a wide range of products to order and are being continuously developed and improved upon. With desktop clients, customers can create and design complex products. In addition, we provide clients for both of the two largest mobile platforms, iOS and Android, for simple and more complex print products. We provide cloud services in terms of an online photo storage with several functions across all platforms. The large variety of print products makes it very demanding for the client technology to provide the best user experience when ordering a product. But it also requires a large variety of printing technology and machinery in the background.
In order to provide flawless quality for both the customer providing his digital image and the printing process, it is necessary to address the special needs of both with regard to image processing. Therefore, fundamental image processing tasks, like crop, scale, and rotate, are mission critical components to our backend systems with several different deployment scenarios. For the customer, images are processed and redelivered to the client, to provide a “what you see is what you get” preview of the images and products. If the customer resizes an image in the client, it is uploaded to our servers and an image resizing process is deployed. The resized image is then sent back to the client where it replaces a temporal thumbnail. This way we and the customer can check and make sure, that the preview shows the image expected to be in the ordered product. After the customer has successfully placed his order, the image processing ensures that the image data is handed over to the printing processes in a format that is capable of producing the best results.
Image scaling has become even more important with the introduction of cloud services. Users not only save memory and gain synchronized storage via several clients, but also offload computing effort into the cloud. This reduces the power demand especially of mobile devices. Preview thumbnails are generated in the cloud, with adjusted image sizes to reduce download volume requirements and performance. With several backends, serving the client software and processing different kind of business and production logic, the image processing subsystem was separated from the backend. This allows us to control the process tightly in terms of quality. Additionally, separate small servers allow scaling by demand. The system is designed to process request peaks occurring during our main season towards Christmas, with about 50,000 transformation tasks per minute. Throughout the year however, the workload is much lower, leaving high performance systems with low load and plenty of headroom for optimization. M2DC is a good opportunity to analyze and exploit this headroom for optimization in more than one direction. Present-day servers are equipped with state-of-the-art general-purpose CPUs with x86 architecture, designed for high performance at workload peaks. In terms of processing performance, M2DC offers two alternatives: Embedded architecture ARM processors are catching up, especially when used with specialized applications. Optimized image servers based on ARM processors can reach the performance of the current x86 machines, with lower power consumption. Utilizing even more specialized hardware for this task, in terms of graphical processing units (GPUs), additionally offers more performance at the same or lower power consumption. However, this approach requires specialized implementation effort to make the most of the hardware. Another way of optimization is utilizing the varying workload. With M2DC hardware we enable the backend systems to dynamically start and stop processing servers and by this consolidate tasks to a smaller number of cores. With workload prediction and preemptive deployment of cores, we prevent outage of services or long loading times for our users.
Figure 1 - Workload per hour, measured in number of tasks for some of the imaging servers. As can be seen, the highest workload is done in the evening hours, with a peak on Sunday evening. The peak is about 5.3 times higher workload than the average: Capability for workload-based downscaling, for times with (below) average workload
The efforts of M2DC match with the CEWE long-term commitment to sustainability and responsibility for our environment. Since 2016 CEWE brand print products are all verifiably printed in a carbon-neutral process. And this commitment grows with economic growth. Hardware and Software developed within the scope of M2DC allows CEWE to increase its performance by optimizing processes and enables us to remain ahead of market demands. But more important, it will lower the energy demand of this high-performance mission critical part of company and make the infrastructure more sustainable, by reducing the carbon footprint of CEWE, in favor of our environment.