ISO/IEC 23004-4:2007 情報技術—マルチメディアミドルウェア—パート4:リソースと品質管理 | ページ 3

※一部、英文及び仏文を自動翻訳した日本語訳を使用しています。

序章

MPEG, ISO/IEC JTC 1/SC 29/WG 11 は、多くの重要な規格 (MPEG-1, MPEG-2, MPEG-4, MPEG-7, および MPEG-21) を作成しました。 MPEG は、Multimedia Middleware (M3W) Requirements Document Version 2.0 (ISO/IEC JTC 1/SC 29/WG 11 N 6981)

マルチメディア ミドルウェア (M3W) の目的は、アプリケーションがミドルウェアの最小限の知識でマルチメディア機能を実行できるようにすることと、アプリケーションがミドルウェアの更新をトリガーしてミドルウェア API を拡張できるようにすることです。最初の目標は、ミドルウェアが提供する API を標準化することで達成できます。 2 番目の目標は、ミドルウェア API を管理し、これがアプリケーションのニーズに応じて確実に機能するようにするためのメカニズムが必要になるため、はるかに困難です。 2 番目の目標は、必要な標準 API をミドルウェア管理を提供するものに減らすことで、最初の目標をサポートできます。したがって、アプリケーションはこれらの標準管理 API を使用して、必要なマルチメディア システムを生成できます。

M3W の目的は、堅牢で信頼性の高い操作を可能にする大量の組み込みアプライアンスで、コンポーネント ベースのミドルウェア レイヤーを定義することです。これらのタイプの製品は、リソースの制約が大きく、シリコンのコストと消費電力に大きな圧力がかかっています。専用ハードウェア ソリューションと競合できるようにするには、堅牢性を実現し、デジタル オーディオやビデオ処理などの高品質要素によって課せられる厳しいタイミング要件を満たしながら、利用可能なリソースを非常に費用対効果の高い方法で使用する必要があります。

大量の組み込みアプライアンスは、ビジネスに不可欠なデバイスと見なされます。彼らの失敗は、制作会社に重要な経済的影響を与える可能性があります。したがって、彼らは厳しく厳しい品質要件を持っています。残念ながら、ソフトウェア業界では、製品の誤動作はよくあることです。ただし、家電製品、家電製品、モバイル機器はこの限りではありません。ユーザーは、堅牢で動作の良いデバイスに慣れています。

家庭用電化製品には、厳しい品質要件があり、利用可能なハードウェア リソースを費用対効果の高い方法で使用する必要があります。 「アプリケーション」という用語は、特定の機能をエンド ユーザーに (間接的に) 提供するソフトウェア エンティティを指すために使用されます。アプリケーションには、それにバインドされたサービス インスタンスが含まれる場合があります。アプリケーションが適切なサービスを確実に提供できるようにするには、必要なハードウェア リソースをアプリケーションに割り当てる必要があります。これは、必要な「最悪のケース」のリソースを割り当てることで実現できます。ただし、多くのアプリケーションでは、最悪の場合のリソース使用量は平均的な場合よりもはるかに少なくなります。この最悪の場合のアプローチに従うと、ハードウェア リソースが浪費されます。一方、実行中のアプリケーションが利用可能なリソースよりも多くのリソースを必要とする場合、問題が発生する可能性があります。プラットフォームが割り当てに対して一般的な公正なポリシーに従う場合、システムの動作は予測できなくなります。特に、指定された時間制約に従って結果を提供する必要があるアプリケーションの場合はそうです。

リソース管理の目標は、アプリケーションに予算またはリソース予約を割り当てることです。これらの予算は保証されているため、どのような状況でも利用できます。このアプローチは、アプリケーションが他のアプリケーションのリソース予約に影響を与えることができないため、システムの堅牢性を高めるのに役立ちます。

リソース管理の恩恵を受けるには、リソース管理に参加するアプリケーションがリソース認識 (RA) である必要があります。これは、実行中に必要なリソースを認識しており、利用可能なリソースに行動を適応させる必要があることを意味します。これにより、アプリケーションは、割り当てられたすべてのシステム リソースを使い果たすことなく、正しく機能できます。

Quality-Aware (QA) アプリケーションは、提供するサービスの品質を認識している RA アプリケーションです。通常、それらはさまざまな品質レベルを提供できます。それらは、提供する品質と、この目的に必要なリソースによって特徴付けられます。通常、品質レベルが高いほど、必要なリソースも高くなります。このタイプのアプリケーションは、割り当てられた予算に応じて、提供される品質レベルを動的に変更できます。

多くの場合、QA および RA アプリケーションはリアルタイム アプリケーションです。割り当てられた予算により、一定の時間内に適切な出力を提供できます。ハード リアルタイム アプリケーションは、品質レベルが 2 つしかない QA と見なすことができます。リソース管理フレームワークは、固定予算がすべて割り当てられているという意味で、非リソース認識型アプリケーション (NRA) にも対応できます。

リソース管理フレームワークと QA アプリケーションの関係は、 契約モデル に基づいています。システムはリソースを提供し、アプリケーションは特定の安定した品質で必要な結果 (アウトプット) を生成することを約束します。予算の割り当ては取得可能でなければなりません。つまり、実際に利用可能なリソースよりも多くのリソースを割り当てることはできません。契約は、ユーザーが認識するシステム全体の品質を最大化することを目的として、アプリケーションと交渉されます。このプロセスでは、アプリケーションの「重要性」がこの操作の主要なパラメーターです。

電力は、次世代の家庭用電化製品で管理される最も重要なリソースの 1 つと考えられています。バッテリ寿命を最大化することが目標であるモバイル デバイスにとって、その重要性は明らかです。固定デバイスでは、環境条件、ファンレス動作、およびシリコン デバイスの寿命の延長にも関連しています。さらに、電力管理は熱制御に関連しているため、デバイスのさまざまな部分の温度を特定のしきい値内に維持できます。

電力管理に関する M3W の基本的な目標は次のとおりです。

  • 消費電力を削減します。
  • モバイル デバイスのバッテリー寿命を延ばします。
  • システム全体の加熱制限を確保する: デバイスの温度が高すぎることが検出された場合は、温度を下げる必要がある場合があります。
  • 電力を認識するハードウェアと M3W コンポーネントを活用します。
  • 省電力ポリシーが選択されていても、システムと関連アプリケーションが常に実行されるようにします。

電源管理は、リソース管理に非常に関連しています。消費電力を削減するための多くの手法は、ハードウェア コンポーネントを消費電力の少ない動作モードに移動することに基づいています。これは、使用可能なリソース (CPU 容量、メモリ サイズ、帯域幅など) を削減/変更することを意味します。これは、たとえば、CPU の電圧と周波数のスケーリングの場合に当てはまります。これにより、消費電力が削減され、結果として CPU の計算能力が低下します。このため、電力管理を品質およびリソース管理と統合することが望ましいです。

リソース管理フレームワークは、この導入条項で説明されている機能を実現する役割を果たします。その機能とアーキテクチャは、ISO/IEC 23004 のこの部分で定義されています。

Introduction

MPEG, ISO/IEC JTC 1/SC 29/WG 11, has produced many important standards (MPEG-1, MPEG-2, MPEG-4, MPEG-7, and MPEG-21). MPEG feels that it is important to standardize an application programming interface (API) for Multimedia Middleware (M3W) that complies with the requirements found in the annex to the Multimedia Middleware (M3W) Requirements Document Version 2.0 (ISO/IEC JTC 1/SC 29/WG 11 N 6981).

The objectives of Multimedia middleware (M3W) are to allow applications to execute multimedia functions with a minimum knowledge of the middleware and to allow applications to trigger updates to the middleware to extend the middleware API. The first goal can be achieved by standardizing the API that the middleware offers. The second goal is much more challenging, as it requires mechanisms to manage the middleware API and to ensure that this functions according to application needs. The second goal can support the first, by reducing the needed standard APIs to those that provide middleware management. Consequently, applications can use these standard management APIs to generate the multimedia system they require.

The aim of M3W is to define a component-based middleware layer in high-volume embedded appliances that enables robust and reliable operation. These types of product are heavily resource constrained, with a high pressure on silicon cost and power consumption. In order to be able to compete with dedicated hardware solutions, the available resources will have to be used very cost-effectively, while enabling robustness and meeting stringent timing requirements imposed by high-quality elements such as digital audio and video processing.

High-volume embedded appliances are considered business-critical devices. Their failure can have important economic implications for the producing company. Hence, they have stringent and demanding quality requirements. Unfortunately, in the software industry misbehaving products are commonplace. However, this is not the case with consumer electronics, home appliances and mobile devices. Users are accustomed to robust and well-behaved devices.

In consumer electronics, there are demanding quality requirements and a need to use the available hardware resources cost-effectively. The term “Application” is used to refer to the software entity that (indirectly) provides certain functionality to an end-user; the Application may include Service Instances that are bound to it. In order to ensure that an Application provides the correct service, it needs to be assigned the hardware resources it requires. This can be achieved by assigning it the “worst case” resources required. However, with many applications, the worst-case resource usage is much less than the mean case. If this worst-case approach is followed, hardware resources will be wasted. On the other hand, problems may arise if the running applications require more resources than can be made available. If the platform follows a typical fair policy for the assignment, the behaviour of the system will be unpredictable, especially for applications that must provide results according to some specified time constraints.

The goal of Resource Management is to assign budgets or resource reserves to Applications. These budgets are guaranteed, so that they are available in any situation. This approach helps to enhance system robustness, because an Application is unable to affect the resource reserves of others.

In order to benefit from Resource Management, Applications participating in Resource Management should be resource-aware (RA). This means that they are aware of the resources they need during their execution and should adapt their behaviour to the resources which are made available. This ensures that applications can function correctly without exhausting all of the system resources that have been allocated to them.

Quality-Aware (QA) Applications are RA applications that are aware of the quality of service that they deliver. Typically, they are capable of providing different quality levels. They are characterized by the quality they provide and the resources needed for this purpose. Usually the higher the quality level, the higher the resource needs. This type of Application is able to dynamically change the provided quality level, depending on the assigned budgets.

Often, QA and RA applications are real-time applications. The assigned budgets allow them to provide a suitable output within some time interval. A hard real-time application can be viewed as QA with only two quality levels: maximum quality or nothing. The Resource Management framework can also deal with Non Resource-Aware Applications (NRA) in the sense that they are assigned a fixed budget all together.

The relation between the Resource Management framework and QA applications is based on a contract model . The system provides resources and the Applications commit to generate the required results (outputs) with a specific and stable quality. Budget assignment must be obtainable, which means that it should not be possible to assign more resources than those actually available. Contracts are negotiated with the Applications with the goal of maximizing overall system quality, as perceived by the user. In this process, the “importance” of the Applications is a primary parameter for this operation.

Power is considered to be one of the most important resources to be managed in the next generation of consumer electronics. Its importance is clear for mobile devices, where the goal is to maximize battery life. In stationary devices, it is also relevant for environmental conditions, fan-less operation and to increase the lifetime of the silicon devices. In addition, power management is related to heat control, so that the temperature of different parts of the device can be maintained within a certain threshold.

The basic goals in M3W with respect to power management are as follows.

  • Reduce power consumption.
  • Increase battery life, for mobile devices.
  • Ensure a system-wide limit for heating: If it is detected that the temperature of the device it is too high, it may be required to reduce it.
  • Take advantage of power-aware hardware and M3W components.
  • Ensure that the system and relevant Applications are always executed, in spite of the power saving policy selected.

Power management is very much related to resource management. A number of techniques for reducing power consumption are based on moving hardware components to less power-consuming modes of operation, which implies reducing/modifying the available resources (CPU capacity, memory size, bandwidth, etc.). This is the case, for example, with CPU voltage and frequency scaling, which can reduce power consumption and consequentially, CPU computational power. For this reason, it is desirable to integrate power management with quality and resource management.

The Resource Management Framework is in charge of achieving the functionality that has been sketched in this introductory clause. Its functions and architecture are defined in this part of ISO/IEC 23004.