分布式系统学习笔记1

第1回― 分散システム概説 ―

分散システムとは

ユーザに対して 単一の首尾一貫した(coherent)システム として見える

利用者はその詳細は知らない(知る必要がない)

→ 個々のコンピュータは協調しなければならない

独立したコンピュータの集合である

--- 単体でも自律している(autonomous) コンピュータの集合

分散システムの目的

  • 可用性 (availability)

システムのサービスを利用したいときに利用できる 故障代替

  • リソースへのアクセス可能性向上

ユーザ(またはアプリケーション)が遠隔地にある資源(リソース)へのアクセスをすることを 可能にする

リソースの例:プリンタ、コンピュータ、 ストレージ、装置、データ、ファイル、 Webページ、ネットワーク グループウェア(groupware)

  • 局所性 (locality)

保護すべき情報を局所的に保存

  • スケーラビリティ (scalability)

コンピュータの数を増やすことで 変化に柔軟に対応

分散システムの例

WWW、電子メール 銀行のオンラインシステム クラウドアプリケーション

分散システムの種類

  • 分散コンピューティングシステム

高性能計算、信頼性の高いデータ保管等

クラスタコンピューティング cluster computing 集群计算

LANで各マシンが結合される

グリッドコンピューティング grid computing 网格计算

ネットワーク上に分散した複数のサブグループ により構成される

  • 分散情報システム

大学・企業等による ネットワークアプリケーションの提供

トランザクション処理システム transaction processing

エンタプライズアプリケーション統合(EAI)

( E nterprise A pplication I ntegration,企业应用集成)

ACID特性

事务处理_百度百科

  • 原子性 (Atomic)

トランザクションは外部から見て分割不可

  • 一貫性 (Consistent)

トランザクションはシステム不変性を侵蝕しない

  • 独立性 (Isolated)

並トランザクションは互いに干渉しない

  • 永続性 (Durable)

トランザクションがコミットするとその変更は永久

  • 分散パーベイシブシステム (pervasive: 遍在する)

小型のセンサやその他の機器を 互いに連結

  • 無線アクセス (無線LAN、Bluetooth等)
  • RFID(radio frequency identification)

無線認証を用いて物体の認証を行う

  • センサネットワーク
  • 位置特定技術 (GPS等)

分散システムの設計目標

分散透過性 (distribution transparency)

分散されている事実をユーザ(やアプリケーション) から見えなくすること

  • アクセス透過性

ファイルの名前付け規約の違い

位置に関する透過性

  • 位置透過性 (location transparency)

(例)http://www.ritsumei.ac.jp/では,立命館の サーバがどこにあるのかを意 識させない

  • 移動透過性(migration transparency)

リソースを移動

  • 再配置透過性(relocation transparency) WiFi

利用中の移動

システム構成に関する透過性

  • 複製透過性 (replication transparency)

可用性や性能を向上させるために配置する コピーを意識させない

  • 並行透過性 (concurrency transparency)

共有リソースへの同時アクセスに対して 一貫性を保証する

  • 障害透過性 (failure transparency)

リソースの障害と回復を意識させない

開放性 (openness)

プロトコル(protocol)が開かれていることにより、

機器の置き換えや拡張が容易になる

誰でも参照できるようにプロトコルが公開されていること

第2回 ― アーキテクチャ ―

ソフトウェアアーキテクチャ

  • 階層型アーキテクチャ
  • オブジェクトベースアーキテクチャ (Object-based)
  • データ中心型アーキテクチャ
  • イベントベースアーキテクチャ(Event-based architecture)

システムアーキテクチャ

集中型(centralized)

クライアントサーバモデル Client server 客户端服务器

    • サーバ(server) ファイルサーバ、印刷サーバ、Webサーバ
    • クライアント(client)
    • プロトコルprotocol
    • メッセージmessage

  • ファットクライアント (fat client) クライアントに比較的多くの役割を持たせる
  • シンクライアント (thin client) クライアントの機能を比較的限定した

非集中型(decentralized)

ピアツーピア(peer-to-peer)

垂直分散では、役割が異なる構成要素に分割する。

水平分散では、対等な役割を持つ構成要素に分割する

サーバの分類

  • 反復サーバ (iterative server)
  • 並行サーバ (concurrent server)

エンドポイント(endpoint) / ポート(port) クライアントからの要求の伝達先

  • ウェルノウンポート (well-known port)を使用

クライアントに明示的に通知しなくても接続可能

よく知られたサービスについては固定的 な番号が割り振られており

  • 窓口となるサーバに問い合わせる

  • ステートフル (stateful) サーバが接続に関する状態管理を行う
  • ステートレス (stateless) サーバが接続に関する状態管理を行わない

第3回 ― プロセス ―

プロセス

プログラムに従ってプロセッサが行う一連の処理。

OSによって実行状態が管理される。

マルチプロセスmulti process

一つのOS上では複数のプロセスが実行される

スレッド(thread): プロセス内部の実行の筋(線) 並列的に実行する

分散システムにおけるスレッド

Webブラウザ browser

ファイルサーバ file server

仮想化 (virtualization)

見せかけ”の処理

1つのCPUを高速に複数プロセス間で切り替え、 仮想的に複数のCPUがあるように見せる。

仮想化の目的

分散システムにおける種々の透過性の提供

仮想化とインターフェース(interface)

コード移動 (code migration)

プログラムを他のマシンに移動

  • 処理待ちを減らしたり、負荷の集中を避けるため、

CPUが空いている所へプロセスを移動

  • 通信量を削減

データの処理はデータの近くで行う

  • 柔軟性の向上

システム構成を動的(dynamic)に変化

コード移動とリソース

プロセス・リソースバインディング [Fuggetta-98]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值