タグ

ブックマーク / qiita.com/Lewuathe (3)

  • Dominant Resource Fairness on YARN - Qiita

    この記事はDistributed computing Advent Calendar8日目の記事です。 Hadoopをはじめとする大規模な計算リソースを効率よく使うにはリソーススケジューラが必要です。分散システムでのリソーススケジューラといえばYARNやMesosといったシステムが有名ですが、今回は分散システムでの効率のよいスケジューリングを定義したDominant Resource Fairnessという考え方とそのYARN上での実装についてまとめてみました。 "Fairness"の難しさ 分散システムに限らずリソーススケジューリングにおいて目標とされるもののひとつとして"Fairness"があります。曖昧な言葉ではありますが、効率のよいシステムでは限られたリソースを複数のユーザ、タスク間で共有してそれぞれの要求を満たしつつ、全体のスループットもあげていくことが求められます。このときにど

    Dominant Resource Fairness on YARN - Qiita
    kimutansk
    kimutansk 2016/12/09
    DRF、設定変えればYARNでもできましたか。で、実際にコードを見てみると非常にわかりやすい。リソースキュー間に重みづけがある場合はその倍率もかけられる?
  • 複数JVMでのClass classのhashCodeについて - Qiita

    問題 複数のコンポーネントを持つある分散システムを作っていた時に見つけたこと。 このシステムの各コンポーネントは別々のJVMで動いているが、ある複数のクラスのオブジェクトをserialize, deserializeして共有している。例えばクラスA、クラスB、クラスCがあった時にそれぞれのインスタンスa,b,cをserialize, deserializeするためのserializer, deserializerは下記のようにClassクラスのhashCodeを使って管理していた。簡潔に書くと下記のマップのような管理をしていた。 A.class.hashCode() -> <Serializer for A> B.class.hashCode() -> <Serializer for B> C.class.hashCode() -> <Serializer for C> ところがこのシステ

    複数JVMでのClass classのhashCodeについて - Qiita
    kimutansk
    kimutansk 2016/05/13
    むむ。ロード順、JVMの起動時刻、あとは何かの変数から起動時に算出される値を用いてhashCodeを算出しているわけですか。クラスのアンロード>ロードしたらどうなるのかな。
  • SparkとParameter Server - Qiita

    この記事はApache Spark Advent Calendar二日目の記事として書きました。 Apache Sparkにはその分散処理の特徴を活かした機械学習ライブラリ、MLlib, MLが含まれています。元々オンメモリで分散処理を行うSparkにとってiterativeな計算が必要な場面の多い機械学習のアルゴリズムとは親和性が高く期待の大きかった分野のひとつでもあります。 モデルの大きさ ところがDeep learningのような最近話題の手法、アルゴリズムでは非常に大きなモデルを扱う場合があります。ここでの大きさとは次元数、合計としてのデータ容量の大きさを含みます。MLlibのアルゴリズムを見てみるとしばしば以下のようにモデルの重みをbroadcastしていることがわかります。 while (!converged && i <= numIterations) { // 重みをbro

    SparkとParameter Server - Qiita
    kimutansk
    kimutansk 2015/12/02
    イテーション毎にモデルのブロードキャスト。確かにそれは重い。と言いつつ、ブロードキャストの詳細機構わかってないので今度見ておかないと。
  • 1