タグ

ブックマーク / qiita.com/shibacow (8)

  • ARM 96コアCPUを使う - Qiita

    はじめに CPUのメニーコア化が止まらない。CPUクロックを上げての性能向上が難しくなったので、各CPUメーカは、メニーコア化で性能を上げる方向を模索している。 ARMはそのような競争のフロントランナーを務めている。 例えば、64coreのserver用ARMプロセッサーなどが出てきている。 そのような中で、Packetという会社が、東京リージョンで、ARM 96コアのクラウドサービスを始めたので、実際メニーコアがどのような性能が出るか試してみた。今までも、東京リージョン以外でARM coreを利用したクラウドサービスはあったが、ヨーロッパなどで、レイテンシが大きくて、使いにくかった。 使用マシン 今回使用したのは、Packetという会社のARMサーバクラウドサービス。ベアメタルで、96コアのマシンを一時間0.5ドルで利用できる。 サーバの性能はこんな感じだ ARMv8 96core 12

    ARM 96コアCPUを使う - Qiita
  • Nianticの求人から推測する『Pokémon GO(ポケモンGO)』のサーバ構成 - Qiita

    1ワールドで済ますというチャレンジ Nianticの求人を見ていて、凄く驚いたのは、「Software Engineer - Server Infrastructure」での次の項目。 all on a single, coherent world-wide instance shared by millions of users. 対訳 全ての(アクション)は、数百万のユーザーに共有された単一の一貫した(サーバ群で行われる) つまり、ポケモンGOは1ワールドで構成されている。MMOのサーバを作ったことがある人なら5それがどんなに大変かピンとくるだろう。特に、ポケモンGOの様に一日に数百万人とかが遊ぶゲームで、1ワールドでゲーム世界を構築するのは、結構大変だ。6 MMOで1ワールドがなぜ大変か(データストレージとの戦い) MMOの様なオンラインゲームで、1ワールドがなぜ大変かを図示する。

    Nianticの求人から推測する『Pokémon GO(ポケモンGO)』のサーバ構成 - Qiita
  • Elixirでプロセス20万くらい作ってみた - Qiita

    Elixirでプロセス20万位作ってみた Elixirの下のErlang VMは軽量プロセスという仕組みを使って、並列プログラミングをサポートしている。ErlangのプロセスはOSのプロセスとは異なり、VM内でプロセスを切り替えている。 erlangやElixirではプロセスの使用を勧められる。 実際、どのくらいのプロセスが生成出来るか調べてみた。 process limitの引き上げ 20万プロセスまで生成出来た。それ以上はデフォルトのprocess limit に引っかかって起動出来なかった。erl +P 1000000 でprocess limit をあげられるそうだが、erlang r18からそのオプションは無効化されたそうで、何を指定すれば、process limitの上限をあげられるかわからなかった。 追記: erlang r18で+P オプションは無効化されてないそうです。

    Elixirでプロセス20万くらい作ってみた - Qiita
  • Elixirでプロセス5000万くらい作ってみた - Qiita

    Elixirで、表題の通り5000万プロセスぐらい作ってみた。 Elixirで20万プロセスを作ったその後 Elixirはerlang VMをベースとした関数型の言語だ。Rubyっぽい文法も使えて便利である。erlangの特徴である、軽量のプロセスが使えるのが一つの売りである。 少し前に、Elixirでプロセス20万位作ってみた という投稿を行った。その時は、デフォルトのprocess_limitのサイズ約26万を超えて、プロセスを指定する方法がわからなかった。親切な方から、26万を超えるprocess_limitの指定方法を教えてもらったので、それならどれくらいまで行けるかと思い、5000万までプロセスを作ってみた。プロセスの単位がインフレしすぎて、実際何の単位なのかわからなくなった。 erlangのプロセス この場合のプロセスは、erlangで使われる軽量プロセスのことだ。プロセスはe

    Elixirでプロセス5000万くらい作ってみた - Qiita
  • Elixirで作るMMOの基礎 - Qiita

    Elixirというプログラミング言語が人気だ。関数型言語erlang VM上で動く関数型言語だ。Rubyっぽい書き方ができるといわれている。 Elixir Advent Calendar 2015というカレンダーができるくらい人気だ。 この記事では、Elixirで作るMMO-RPGの基礎というタイトルを付けた。なぜならばElixirはMMO1を作るのにとても適していると考えたからだ。 今回、elixirでMMOを作ろうと思ったが、残念ながらMMOを作る基礎的な部分しかできなかった。その作った分を紹介しながらなぜelixirがMMOに向いているかを見ていこうと思う。 MMOの構成と作りたかったもの MMOの骨格はなんだろう。私は、通信、位置同期、チャットだと考える。オンライン上を自由に歩ける。集まってチャットが出来る。このふたつができれば、MMOの基礎ができたんじゃないんかなと感じる。 通信

    Elixirで作るMMOの基礎 - Qiita
  • Elixirのプロセスをマルチコア環境で試した - Qiita

    最近Elixirをちょこちょこ使ってみている。 オンラインゲームを作るプラットホームとして優れているのではないかと考えたからだ(ベースとなるerlangが電話交換機を制御するための言語なので得意なのは当たり前だが)。 また、CPU単体での性能向上に陰りが見えてきて、メニーコア環境でのプログラミングが増えて来ている。 elixir/erlangが持っているプロセスを使って、簡単にメニーコアを使えて性能が向上するなら、こちらを使って行く方が、メニーコア環境でのコア数増加の恩恵を得られるのではないかと思っている。 CPUが大量にある環境でプロセスを使うことでどの程度コアを並列に使うのか調べてみた。 調査環境 EC2のc4.8xlargeを利用して、多数のCPU環境下でelxirがどの程度CPUを使用するか調べてみた。 c4.8xlargeはCPUを36個持っている(手軽に、数ドルで、36cpu

    Elixirのプロセスをマルチコア環境で試した - Qiita
  • Elixirを使ってニコニコ動画のレコメンドエンジンを作ってみる - Qiita

    このシルバーウィークは、Elixirを勉強している。 Qiitaでも次のような投稿をした。 Elixirのプロセスをマルチコア環境で試した Elixirを試してみた。HirofumiTamori さんのElixirチュートリアルをやってみる ElixirはerlangVM上で動くRubyっぽい文法の言語だ。このサイトの紹介が詳しい。 Elixir : Erlang VM 上で動作する Ruby 風味の関数型言語 実際どのくらい実用に堪えるのか確認するため、昔作ったニコニコ動画で似た動画を推薦するレコメンドエンジン部分を作ってみた。 ソースコードはこちらに公開している。 中心になるソースコードは、lib/relation_view.exである。 ニコニコ動画データセットを使ったリコメンドエンジン 類似動画の集計結果 まず最初に今回作成したレコメンドエンジンの集計結果を示す。 左の紫色の背景の

    Elixirを使ってニコニコ動画のレコメンドエンジンを作ってみる - Qiita
  • ギークの精神と対人コミュニケーションとトレードオフスライダー - Qiita

    リーダー論に対する違和感 最近、開発のプロジェクトマネージメントをしている。その仕事を通して、リーダー論や開発手法の書物を読むことが多くなった。 特に、リーダー論を読むことが多くなった。しかし、リーダー論に関するを読んでいると、とても違和感を感じることが多かった。その違和感の正体をぼんやり考えていたのだが、アジャイル開発のインセプションデッキに関する話(アジャイルサムライというに出てくる)で、トレードオフスライダーについて知ったところ、違和感の正体に思い至ったので書いておく。 トレードオフスライダーとは アジャイル開発の(アジャイルサムライ)に、トレードオフスライダーというものが紹介されている。図示すると、次のようなものだ。 プロジェクトの重要項目に、優先順位をつけて、どれを犠牲にして、どれを守るか図示したものだ。例えば、ソフトウェアプロジェクトの四大要素(予算、時間、品質、スコープ

    ギークの精神と対人コミュニケーションとトレードオフスライダー - Qiita
  • 1