• 作成:

サービス情報システム(クラウド)

専修大学Web講義要項 サービス情報システム ネットワーク情報学部 兼任講師 北川 和裕

Macの源流

「Macの源流は1990年代」という話を聞いて, 「Macの源流は1973年のAltoじゃないですか?」って言ったら全否定されました. ええ… ウィンドウシステムとかマウスとかの源流なのに… 「OSが違う」とか全否定されました. NeXTにしたって1988年だし1990年代ではないのでは?

メモリ上で演算が出来るか

「メインメモリとハードディスクの違いは何か?」と聞いてたので「速度とランダムアクセス可能かどうか」と答えたら「全然違う」と言って後で「速度が違う」と言い出しました. 合ってるじゃないですか. 何を言っても全然違うって答えるからこの講義で質問されても答えようとしない人が多くなると思うんですけど.

「メモリ上では数値計算や条件分岐が出来るがハードディスクでは出来ない」 ということを言っていたので, 「計算や分岐が出来るのはレジスタ上では? メモリは計算後に計算したものを保存する先では?」 と質問してみたら 「全然違う, メモリは直接実行できる, 一般的なアーキテクチャではそう」と答えられました. 私が間違ってるんですかね?

一般的なx86アーキテクチャでは計算はレジスタで行って, その結果をメモリに保存する仕組みだったはずです. 「x86_64ののような一般的アーキテクチャでは計算はレジスタで行ってメモリは格納する先」 と言っても「全然違う」という返答でした.

スタックマシンのことは知らない.

「直接実行できるメモリ」 は機械学習の文脈で最近作られたことは知ってますけど, 一般的なx86アーキテクチャではメモリはstore, restoreするだけの存在なはずです. IBM、100万個の「演算するメモリ群」で作られた非ノイマン型マシンで機械学習のデモを発表。従来のコンピュータより200倍高速で高効率と - Publickey

講義後に質問してみました

講義後に聞いてみたところ, DECアーキテクチャならメモリ上の値で演算や分岐が出来るという答えが帰ってきました. 命令はもう忘れたそうです. ググっても出てこない… でもそれってアセンブリが高級化しているだけで, 結局計算しているのはレジスタ上の値なのでは?

DECのPDP-11なら出来るそうですけど, web上にある命令セットを眺めても見つかりません.

お客様の中にPDP-11のアーキテクチャに詳しい人は居ませんか?

途中から 「CPUはハードディスクに直接アクセスできない」 という話をされたので, 「いやCPUだってハードディスクに直接アクセス出来るのでは? 出来なかったらどうやってファイルシステム実装するんですか?」 と言ったんですが何故か水掛け論になりました. 「CPUは外部のディスクに直接アクセスできない」という理屈が通るならメインメモリだってバスを通さないとアクセスできないのでは?

聞いてたら「RISCの定義わかる?」と聞かれたので「命令セットを単純にしたCPUのこと」と答えたら「全然違う」とのこと. 「1命令を1サイクルで行えることを目指したCPUで, 命令セットが単純化したのは結果的なもの」と答えられました. でも, 聞いた後に今見てみたら

RISC(りすく、英: Reduced Instruction Set Computer、縮小命令セットコンピュータ)は、コンピュータの命令セットアーキテクチャ(ISA)の設計手法の一つで、命令の種類を減らし、回路を単純化して演算速度の向上を図るものである。なお、RISCが提唱されたときに、従来の設計手法に基づくアーキテクチャは対義語としてCISCと呼ばれるようになった。

RISC - Wikipedia

って書いてあります. 全ての演算は1クロックで実行するというのも重要ですが, 名前からして縮小命令セットコンピュータじゃないですか, なんで私は全然違うって言われたんですか?

私もRISCが1サイクルで1命令を行うように作られたという話は割とすんなり受け入れたんですが, そもそもRISCでも1サイクルで実行できない命令はたくさんあると複数の方から指摘を受けました.

なんかアドレッシングやRISCやTLBやページフォールトなどの関係ない話をされて煙に巻かれた感じがします. 私が聞きたかったのは計算をするのはレジスタ上なのでは? ということだったんですが… なんで違う話をたくさん「君これ知ってる?」と言われないといけないんでしょう.

「先生は君よりも多くのことを知っている」と言われたんですが, そんなことはもちろん期待していて, だから質問をしているんですが…

クラウド

AmazonやGoogleやMSがボトルネックのために並列用のスーパーコンピュータに似た特殊なコンピュータを作り始めたという話を聞いて, AWSのインスタンスは大抵Xeonが動いているはずですが… もしかして分散システムの話がしたいんですかね.

さっきから「コンピュータがあまりにも速すぎるようになったから分散するより集約するほうが効率が良くなった」と言っているんですけど, フリーランチの自体が終わったと思っている私の常識と全然違う.

ここまでの説明を聞くに, 講師の方はAWSが1つのコンピュータに大量の仮想マシンを載せていると思っているのでしょうか. 複数のインスタンスが1つのマシンに同居することはよくありますが, マシンは普通に分散化されて複数あると思うんですけど.

今クラウドの代表例としてAWSとGCPとAzureが出てきたんですが, じゃあなんで最初の講義の頃, 私が「クラウドと言えばAWSとGCPとAzure」と言ったら「全然違う」って否定したんですか? サービス情報システム(ECサイトの要素), 科学論・科学史102(エントロピーと時間の流れ), Spotifyを使い始めました, 情報リスク管理(認証とアクセス制御) - ncaq