データ処理機能の配置に関する次の記述を読んで,設問に答えよ。
C社は,動画配信サービスを提供する会社であり,サービス内容が充実していることが人気を呼び,動画配信者数や動画視聴者数が増えている。動画配信者は,Webブラウザを用いて,ビデオカメラやスマートフォンで撮影した動画ファイルをC社のWebサイトにアップロードすると,Webサイト上で動画の編集配信,広報,アクセス分析などの機能が利用できる。
C社の動画配信サービスは,C社配信システム部が企画から運用までを担当している。配信システム部では,サービス内容の向上を目的に,動画編集機能を強化した動画配信者向けの新しいサービスを提供するシステム(以下,新システムという)を構築することにした。新システムの構築は,配信システム部のD君が担当することになった。
〔新システムに必要な機能〕
D君は,現在の動画配信サービスの機能を基に,新システムに必要な動画配信者向け機能の機能要件を定義した。新システムに必要な機能一覧(抜粋)を表1に示す。
機能名 | 機能概要 |
アップロード | 動画配信者がビデオカメラやスマートフォンで撮影した動画をC社のWebサイトにアップロードして登録する機能 |
動画編集 | C社のWebサイトに登録された動画を,Webブラウザを用いて編集する(カットする,結合する,BGMテロップを挿入するなど)機能 |
配信準備 | 動画視聴者のネットワーク環境に合わせた複数のビットレートの動画ファイルを作成する機能 |
アクセス分析 | 動画が動画視聴者に何回アクセスされているかを,複数の分析軸(地域,日時,年齢層,端末種別,アクセス動線など)から分析する機能 |
〔新システムのサーバ構成〕
D君は,新システムのサーバ構成を設計した。D君が設計した新システムのサーバ構成(抜粋)を図1に示す。また,SSDとHDDのアクセス速度を表2に,LANとインターネットの通信速度を表3に,各サーバのCPUとGPUの搭載数を表4に示す。なお,新システム内の負荷分散装置,サーバ,NASはLANで接続されている。
XXX
図1 新システムのサーバ構成(抜粋)
XXX | XXX | XXX |
XXX | XXX | XXX |
XXX | XXX | XXX |
XXX | XXX | XXX |
XXX | XXX | XXX |
XXX | XXX | XXX |
XXX | XXX | XXX |
XXX | XXX | XXX |
XXX | XXX | XXX |
各サーバで計算を行うCPUやGPUで実行される演算は,①整数演算と浮動小数点演算の二つに分類される。新システムで利用するCPUは,1コア当たり整数演算が10,000G Operations/秒(以下,OPSという),浮動小数点演算が500G Floating-point Operations/秒(以下,FLOPSという)で実行できる。また,GPUは1個当たり浮動小数点演算が10,000GFLOPSで実行できる。
この新システムを用いて,APサーバ1がAPサーバ1のSSDに格納された800Mバイトの動画ファイルをメモリに読み込む時間は a 秒である。また,DBサーバのDBMSはRDBである。
〔配置の検討〕
D君は,新システムの各機能の中でデータ量や計算量が多い処理を抽出した。データ量や計算量が多い処理の一覧を表5に示す。なお,データ量には,各処理を実行するためにCPUやGPUにインプットされるデータ量と,CPUやGPUで計算した後にアウトプットされるデータ量とがある。
XXX | XXX | XXX |
XXX | XXX | XXX |
XXX | XXX | XXX |
レンダリング処理は,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社は新システムによる新しい動画配信者向けサービスの提供を開始した。
設問1 〔新システムのサーバ構成〕について答えよ。
(1)本文中の下線①について,整数演算に該当する演算を解答群の中から全て選び,記号で答えよ。
- 300 + 200 - 100
- 300 × 200 ÷ 100
- 3.00 + 2.00 - 1.00
- -300 + (-200) + (-100)
- 300 × 0
- 3.00 × 200
解答・解説
解答例
ア,イ,エ,オ
解説
ー
(2)本文中の a に入れる適切な数値を答えよ。ここで,本文に記載の読込速度,書込速度を実効速度とし,他のオーバヘッドは無視できるものとする。なお,計算結果に小数が発生する場合,答えは小数第2位を四捨五入して小数第1位まで求めよ。
解答・解説
解答例
1.6
解説
ー
設問2 〔配置の検討〕について答えよ。ここで,図1のサーバ構成を一つの処理が占有でき,〔新システムのサーバ構成〕と表5に記載以外のオーバヘッドや並列処理に伴うオーバヘッドは無視できるものとする。
(1)本文中の b 〜 d に入れる適切な数値を,整数で答えよ。
解答・解説
解答例
b:50 c:10 d:4
解説
ー
(2)本文中の e に入れる適切な数値を答えよ。なお,計算結果に小数が発生する場合,答えは小数第2位を四捨五入して小数第1位まで求めよ。
解答・解説
解答例
0.8
解説
ー
(3)本文中の下線②について,DBサーバで処理した結果をAPサーバへ送信する方法が最適と考えたのはなぜか。データ量の観点から35字以内で答えよ。
解答・解説
解答例
アウトプットデータと比較してインプットデータの量が多いから
解説
ー
(4)本文中の下線③について,素材送信処理の処理方法をどのように変更したか。変更点を30字以内で答えよ。
解答・解説
解答例
素材データをAPサーバのSSDにキャッシュする
解説
ー
設問3 〔動画配信者数増大への対応方針〕について答えよ。
(1)本文中の f , g に入れる適切な字句を解答群の中から選び,記号で答えよ。
- スケールアウト
- スケールアップ
- スケールイン
- スケールダウン
解答・解説
解答例
f:ア g:イ
解説
ー
(2)本文中の下線④について,オンラインユーザ数取得処理と対比して元分析処理で扱うデータの特徴を20字以内で答えよ。
解答・解説
解答例
追加・更新のない過去のデータ
解説
ー
IPA公開情報
出題趣旨
昨今,動画処理や機械学習に必要な大量の計算を,専用のハードウェアを用いて高速に行うことが一般的になりつつある。
本問では,動画配信サービスの動画配信者向け機能を題材として,CPU や GPU を用いて計算を行った場合の処 理時間の違いやネットワーク伝送を含めた機能の最適配置についての理解と設計能力を問う。
採点講評
未公開