見出し画像

【AP】令和6年秋午後問4システムアーキテクチャの解説(応用情報技術者試験)

このNoteでは「応用情報技術者試験 令和6年秋午後問4(システムアーキテクチャ)」の解説をします。

問題の見た目ですが、全体量・解き始めの速さは充分好みでした。一方で穴埋め5つが計算問題。これは異常事態。

解いてみると、計算問題は基礎的だったので得点源でした。問題選びの時点で「計算できそうか」と確認しておきたいですね。各設問は独立しているので「芋づる失点」もしないのもポイント高い。

なお、記述問題は問題文から論理的に解答できる系で良心的。充分高得点が狙えます。

このNoteでは、私がIT以外の学生時代にAPに独学合格した経験と、大学・IT専門学校で応用情報技術者試験の対策授業を担当した経験を詰め込んで作りました。

それでは始めましょう!



※このNoteは後日有料になります。お早めにお読みください。その後はマガジンに追加されます。マガジンも値上げしますので、お早めにご購入ください。



設問1(1) | 浮動小数点の復習をしよう

正答は、ア, イ, エ, オ。

ウとカは実数(小数も含まれた数)なので、消すのは良いですよね。ア, エ, オが正答なのも良いでしょう。


問題はイの割り算。計算結果が6になって整数だけど、÷100が違う数だったら小数があり得るかなぁ、と考えちゃいます。

でも、考え方が違います。

整数なら整数演算、実数(小数を含む数)なら浮動小数点演算。

イの「300×200÷100」は、300も200も100も整数なので整数演算。

もし計算結果が小数・割り切れないだとしても、それは演算結果の表現の話。例えば300×200÷500の時、「1.2」と小数にするか「1余り1」と整数にするかは、整数演算の後の話。


学習を深めます。

問題文に「浮動小数点演算」に出たので、復習しましょう。仮数部・指数部・基数は大丈夫でしょうか。今回は整数演算が問われましたが、今後は浮動小数点演算を問うてくるかもですよ。>【FE】浮動小数点のNote

例えば、15, 1.5, 0.15の浮動小数点表記は以下の通り。

$$
a = f \times r^e\\
15 = 1.5 \times 10^1\\
1.5 = 1.5 \times 10^0\\
0.15 = 1.5 \times 10^{-1}\\
$$

以上のように、指数を使って整数部を1桁に揃えています。

  • f:仮数

  • e:指数

  • r:基数(10進数なら10)

説明のために10進数にしましたが、コンピュータの中では2進数で表現しています。>【FE】浮動小数点のNote




設問1(2) | ビットバイトに注意

正答は、1.6秒

必ず正解してください。


800MBをSSD(速度500MB/秒, 表2)で読み込むので。

$$
800 / 500 = 1.6秒
$$

念のため、ビットやバイトの単位も確認してくださいね。数式が分からない時も単位に注目すると、結構分かります。>数式は単位に注目するNote




設問2(1)b | 補助単位とPer

b:50秒

必ず正解してください。


レンダリング処理は表5から、浮動小数点演算100,000 [GFLO]。APサーバのCPU性能は1コアで1秒間に500 [GFLO]、今回4コアで考えるので、×4して2,000 [GFLO]。

$$
100,000 / (500 \times 4) = 100,000/ 2,000 = 50秒
$$

なお、GFLOやGFLOPSのGは、ギガ(10億、10の9乗)を表す補助単位。PSはper second(1秒あたり)の意味。したがって、FLOは演算回数、FLOPSは1秒間あたりの演算回数を表しています。
※正確には、FLOは「Floating-point operations」。「浮動小数点演算」を意味します。

単位で見ると、[GFLO]/[GFLOPS]=S、つまりsec(秒)になっています。なお、1/(1/x)=xになります。




設問2(1)c

c:10秒

必ず正解してください。bと同じ解き方です。


レンダリング処理は表5から、浮動小数点演算100,000 [GFLO]。GPUサーバのGPUの性能は、10,000[GFLOPS]。

$$
100,000 / 10,000 = 10秒
$$

今回は補助単位が「G」だけでしたが、「k(キロ)」「M(メガ)」「T(テラ)」、「m(ミリ)」「μ(マイクロ)」「n(ナノ)」及び指数計算はできるようになってください。FEレベルですから。高度資格ならもう常識の範囲内。>指数の公式を簡単に求めるNote




設問2(1)d, e | 伝送の「みはじ」

d:4秒

必ず正解してください。


通信なので、データ量, 回線速度, 伝送時間のうち2つが分かれば、「みはじの法則」で計算できます。>【FE】回線問題の「みはじ」Note


単位がバイトとビット、補助単位がメガとギガと違っているので注意。

APサーバとGPUサーバへ送るデータ量は、表5から500MB。回線速度は、表3から1[Gbps]。

私は馴染みがあるバイトに統一することが多いです。でも8で割り切れないこともあるので、分数で残しておくことも多い。

要は「8で割る」「8を掛ける」を忘れない仕組みが大事。

$$
0.5 / (1/8) = 4秒
$$

分母の中の分数が難しいなら、ビットに統一。

$$
0.5 \times 8 / 1 = 4秒
$$

単位で見ても、上式は[GB]/[GB/s]=[s]、下式は[Gb]/[Gb/s]=[s]。[ps]は1秒あたり、つまり[/s]という意味です。




設問2(2)e

正答は、0.8秒。

必ず正解してください。設問2(1)dと同じ。通信なので、データ量, 回線速度, 伝送時間の3つの内2つが分かれば、「みはじの法則」で計算できます。>【FE】回線問題の「みはじ」Note


表5より、GPUサーバで出力された100MBを、APサーバへ返答します。回線速度は、表3から1[Gbps]。メガギガ・ビットバイトに注意。

$$
0.1 / (1/8) = 0.8秒  
$$

設問文に「小数第2位を四捨五入して小数第1位まで求めよ」を満たしているか確認。四捨五入の必要はありませんでした。




補強 | 計算の但し書きなれど絶対ではない

「小数第X位を四捨五入して~求めよ」は、そもそも処理をしないと×になるって罠の役割。

「計算できたー」と勇み足な解答を、「残念でしたー」と狩ってくるのが、本来の役目。


以下のように考えるのもアリです。

  • 設問2(1)は「整数で答えよ」だから、答えは整数なんだろう

  • 設問2(2)は「小数第1位まで求めよ」だから、計算で小数がでるんだろう

ただし、今回みたく四捨五入が不要だったり、そもそも答えが整数だった場合もあります。

計算結果が小数になる確率が高いんだろうな、ぐらいに思っておくぐらいの意識。




設問2(3) | わざわざ書かれている言葉がヒント

模範解答は「アウトプットデータと比較してインプットデータの量が多いから」。

正解できるようになってください。データや回線の状況から、システム構成を設計するような、「考えさせる問題」は出ますから。


設問文にわざわざ「データ量」と書かれているので、下線②の「オンラインユーザ数取得処理」について、表5の「データ量」を見ます。

データ量は、インプット100MB, アウトプット0.1MB。つまり、処理前(インプット)のデータ量が、処理後(アウトプット)の1,000倍。

以上より、元々データを持っているDBサーバで処理して、データ量を減らして送信しましょうって話。


作文は色々ですが、模範解答のように表5の「インプット」「アウトプット」を使うと楽ですね。入力・出力、処理前・処理後など、色んな表現が、正解と認められるでしょう。




設問2(4) | 模範解答から学ぶ言葉

模範解答は「素材データをAPサーバのSSDにキャッシュする」

頑張って作文が書けるようになってください。


下線③前に書かれた問題点は、2点。なお、素材はNASサーバに格納されています。図1のHDDはNASだけなので。

  • LAN通信に時間がかかる@NAS→APサーバ

  • HDD読込に時間がかかる@NAS

下線③前に書かれた処理変更の判断理由は、「動画配信者のPCへ送信する素材データは特定の素材データに偏っている」「データの更新頻度も高くない」。なお図1より、素材データはAPサーバからPCへ送られます。

以上より、よく使われる素材をAPサーバに置いておけば良いのでは、と発想。更新頻度は低いので、一度置けば長い間そのままで良いので、管理も楽。


私の解答は、「動画配信者がよく使う素材をAPサーバにも保存しておく」26文字。外せない言葉は、APサーバ。素材データは問題文そのままでは長いので要約しました。

模範解答の「SSD」や「キャッシュ」は必須の言葉ではないです。とはいえ、模範解答に使われたのでIT用語として解答に使っていきたいですね。それこそが過去問演習での学び。


APサーバはSSDしかないし、キャッシュは一時保存の意味合いがありますが、保存・保管・格納って言葉でも大きな間違いにはなりません。

おそらく、ご本尊はDBサーバだけど、コピーをAPサーバに保存してる旨を表現するための「キャッシュ」

そう考えると「よく使われる素材をAPサーバにしばらく保存する」23文字。ぐらいの緩さでも良いのかも。月何回使われたらAPサーバにも置くようにしよう、みたいな。




設問3(1)f, g | ややこしいIT用語をこの際に

  • f:ア(スケールアウト)

  • g:イ(スケールアップ)

どうだったっけ、と戸惑っちゃいますが、IパスFEレベルなので、正解できるよう固めましょう。


fは、台数を増やす手段。gは、性能を上げる手段。

  • スケールアウト:台数を増やす施策

  • スケールアップ:性能を高くする施策

  • ダウンサイジング:小型・小規模化する施策

ITパスポートのR02秋問61などでも出ています(過去問道場様)。


ややこしい言葉は、片方をがっちり覚えるか、自分の感性に合う関連付けをするかの方法が有効。

私は「アップ」は上昇だから性能上昇、「アウト」は範囲の外だから範囲が広がる→面積広がる→台数が多くなる、なイメージで区別しています。

他にも、SRAMとDRAM。SRAMのSを無理やり「スピード」ってことにして、速い→値段高い→小さい容量しか使えない、と連想。「Sがスピード」「DRAMはSRAMの逆」とだけ覚えます。

無意味な言葉の暗記には限界があります。理屈をつけるなどして「情報圧縮」してみてくださいね。




設問3(2) | 問題文から出した解答ならOK

模範解答は、「追加・更新のない過去のデータ」

なかなか難しいかも。問題文のヒントに気づいても言語化が。


問題文から気づくべき点を挙げます。

  • 表5:インプットがアウトプットの50,000倍!

  • 21頁:

    • 多次元分析処理データはある特性を持っていそう
      ->専用DBサーバ追加で対応

    • オンラインユーザ数取得処理はリアルタイム集計処理
      ->性能向上で対応

  • 表5:オンラインユーザ数取得・多次元分析のデータはDBサーバ

設問文に「オンラインユーザ数取得処理と対比して」と、わざわざ書いてます。21頁下線④前に、ユーザ数取得処理は「リアルタイム処理」、だったら多次元分析処理は、、、リアルタイムの反対か?、、、と。


私は気づかず、表5で対比しました。「多次元分析はインプットデータが膨大だから」20文字。データ処理が長時間かかるので、長時間DBサーバのリソースを使って、他の処理(ユーザ数取得処理処理)に影響が出るかなと考えました。

設問文の「対比して」の記載箇所が、下線④前(追加更新しない)から表5(データが膨大)なのか指定されてませんから(屁理屈)。

私の解答が○か×かは分かりません。×寄りの△だと思います。とはいえ、問題文からひねり出した解答なので、悔いはありません。




まとめ


お疲れ様でした!

計算問題は異常に多かったですが、FEレベルの基本的な問題。記述問題も「設問文と問題文の言葉対応」系で充分解けます。

いくつか失点することはあっても、大きく持ち崩さないでしょう。

ただし、計算問題は「計算できるか」「前の計算結果を次も使うか(芋づる失点のリスク)」の確認をしてから、解くかどうか判断します。

記述は別解や部分点がありそうですが、計算問題は値が違えば絶対失点しちゃいます。計算主体の問題は、なかなか選ぶ勇気でないですね。他の問題とも比較して考えます。

以上になります。また他の解説Noteを読んで頂けたら嬉しいです。でわでわ。



\全ての無料Noteへのリンク!/

\全てのAP系Noteが読めます/


いいなと思ったら応援しよう!

せんない
学習方法・問題特集のNoteは全て無料提供を続けます▼ もしご覧になったNoteが有益だったり、私の志に共感されたりしましたら、サポート頂けますと励みになります▼ もちろんコメントでも結構です(・ω・▼)ノシ

この記事が参加している募集