2024年 秋期 応用情報技術者試験 問4

データ処理機能の配置

C社は、動画配信サービスを提供する会社であり、サービス内容が充実していることが人気を呼び、動画配信者数や動画視聴者数が増えている。動画配信者は、Webブラウザを用いて、ビデオカメラやスマートフォンで撮影した動画ファイルをC社のWebサイトにアップロードすると、Webサイト上で動画の編集・配信、広報、アクセス分析などの機能が利用できる。

C社の動画配信サービスは、C社配信システム部が企画から運用までを担当している。配信システム部では、サービス内容の向上を目的に、動画編集機能を強化した動画配信者向けの新しいサービスを提供するシステム(以下、新システムという)を構築することにした。新システムの構築は、配信システム部のD君が担当することになった。

新システムに必要な機能

D君は、現在の動画配信サービスの機能を基に、新システムに必要な動画配信者向け機能の機能要件を定義した。新システムに必要な機能一覧(抜粋)を表1に示す。

表1 新システムに必要な機能一覧(抜粋)
機能名機能概要
アップロード動画配信者がビデオカメラやスマートフォンで撮影した動画をC社のWebサイトにアップロードして登録する機能
動画編集C社のWebサイトに登録された動画を、Webブラウザを用いて編集する(カットする、結合する、BGM・テロップを挿入するなど)機能
配信準備動画視聴者のネットワーク環境に合わせた複数のビットレートの動画ファイルを作成する機能
アクセス分析動画が動画視聴者に何回アクセスされているかを、複数の分析軸(地域、日時、年齢層、端末種別、アクセス動線など)から分析する機能

新システムのサーバ構成

D君は、新システムのサーバ構成を設計した。D君が設計した新システムのサーバ構成(抜粋)を図1に示す。また、SSDとHDDのアクセス速度を表2に、LANとインターネットの通信速度を表3に、各サーバのCPUとGPUの搭載数を表4に示す。なお、新システム内の負荷分散装置、サーバ、NASはLANで接続されている。

注記: 図1中のAPサーバはアプリケーションサーバを示す。また、DBサーバはデータベースサーバを示す。
表2 SSDとHDDのアクセス速度
記録読込速度
(Mバイト/秒)
書込速度
(Mバイト/秒)
SSD500400
HDD250150
表3 LANとインターネットの通信速度
回線通信速度
(Gbps)
LAN1
インターネット10
注記:表3のGbpsはギガビット/秒を表す。
表4 各サーバのCPUとGPUの搭載数
サーバCPU
(コア)
GPU
(個)
APサーバ160
DBサーバ320
GPUサーバ44

各サーバで計算を行うCPUやGPUで実行される演算は、①整数演算と浮動小数点演算の二つに分類される。新システムで利用するCPUは、1コア当たり整数演算が10,000G Operations/秒(以下、OPSという)、浮動小数点演算が500G Floating-point Operations/秒(以下、FLOPSという)で実行できる。また、GPUは1個当たり浮動小数点演算が10,000G FLOPSで実行できる。

この新システムを用いて、APサーバ1がAPサーバ1のSSDに格納された800MバイトのMPEGファイルをメモリに読み込む時間はa秒である。また、DBサーバのDBMSはRDBである。

配置の検討

D君は、新システムの各機能の中でデータ量や計算量が多い処理を抽出した。データ量や計算量が多い処理の一覧を表5に示す。なお、データ量には、各処理を実行するためにCPUやGPUにインプットされるデータ量と、CPUやGPUで計算した後にアウトプットされるデータ量とがある。

表5 データ量や計算量がある処理の一覧
機器名処理名処理方法データ量計算量
インプット
(Mバイト)
アウトプット
(Mバイト)
整数
演算数
(GO)
浮動小数
点演算数
(GFLOPS)
動画編集素材送信NASに格納されているBGM素材やテロップ素材を、NASからAPサーバへ送信し、APサーバから動画配信者のPCへ送信する。5050100
配信準備レンダリングAPサーバのメモリに格納された動画データを基にBGM、テロップなどを合成してひとつの動画データを作成する。5001000100,000
アクセス分析オンラインユーザ数数取得DBサーバに格納されている特定の動画を視聴しているオンラインユーザ数をリアルタイムに集計して表示する。1000.1500
多次元分析処理DBサーバに格納されている前日までの動画の視聴ログを複数の分析軸から分析する。50,00013000
注記:GOはGiga Operationsを表し、GFLOPSはGiga Floating-point Operationsを表す。

レンダリング処理は、APサーバのCPUを4コア用いて処理する場合にはb秒掛かり、GPUサーバのGPUだけを1個用いて処理する場合にはc秒掛かる。ただし、GPUサーバを用いて処理する場合には、APサーバからGPUサーバへデータを送信するのにd秒掛かり、APサーバへレンダリング結果を返信するのにe秒掛かる。この検討結果から、APサーバよりもGPUサーバで処理した方がよい。

オンラインユーザ数取得処理について、D君は②DBサーバで処理した結果をAPサーバへ送信する方法が最適と考え、DBサーバで処理することにした。

素材送信処理は、同時に100名の動画配信者向けに素材データを送信しようとすると、LANの通信速度とHDDの読込速度が遅く送信に時間が掛かる。しかし、図1のサーバ構成の変更には大きな費用が掛かることから、サーバ構成を変更せずに対応する方法を検討した。動画配信者のPCへ送信する素材データは特定の素材データに偏っており、各素材データの更新頻度も高くないことから、表5の③素材送信処理の処理方法を変更して対応することにした。

動画配信者数増大への対応方針

D君は、将来的に動画配信者数が増大することを考慮して、新システムの拡張性について検討した。まず、表5のレンダリング処理は、動画データごとに処理が独立しており、GPUサーバを手動で追加するfの対応を行う方針にした。一方で、オンラインユーザ数取得処理は、時間とともに断続的に追記される動画の視聴ログをリアルタイムに集計する処理であり、DBサーバの数を増やせないことから、DBサーバをgして対応を行う方針にした。また、多次元分析処理は、④そこで扱うデータの特徴から、多次元分析処理専用のDBサーバを追加する方針にした。これによって多次元分析処理の負荷が他の処理へ影響しないようになる。

その後、D君は新システムの構築を完了させ、C社は新システムによる新しい動画配信者向けサービスの提供を開始した。

出典:令和6年度 秋期 応用情報技術者試験 午後 問4