ゴクロの浜本です。ネットカフェでコードを書くのが好きです。 前回のエントリーでも触れられていますが、SmartNewsはホットな話題をユーザにお届けするために、常時、膨大な数のツイートおよびURLをクロールしています。こうして収集した記事に対し、様々な分析が施されますが、その中でも重要な処理の1つに、記事の類似度判定があります。内容の似通った記事をインデックスから発見し、グループ化する処理です。 毎秒、大量の新着記事が到着することから、この類似度判定は高速に実行する必要があります。また、インデックスを全てメモリに載せているので、類似度判定を実現する際の空間効率も要求されます。 今回は、SmartNewsが高速かつ省スペースな類似度判定のために使用しているb-Bit MinHashと呼ばれる手法を紹介します。2年前に、PFIの岡野原さんが非常に分かりやすい解説記事を書かれており、本エントリー
検証や勉強で仮想マシンを複数作って異なるネットワークセグメントに配置したい時に使う。 RHCE/RHCSA(RHCT)の勉強するときに便利。 libvirt(virt-manager)は起動時にOSのルーティングを有効化するが、作成する仮想ネットワーク(virbrX)が他の仮想ネットワークとルーティングすることを禁止している。 # sysctl -a |grep ip_forward net.ipv4.ip_forward = 1 隔離された2つのネットワークを以下のように作成する(virt-managerから作成) virbr1 <network> <name>trust</name> <uuid>9929b191-4e3e-42e0-9dd4-00f1dea86715</uuid> <bridge name='virbr1' stp='on' delay='0' /> <ip addr
参考URL 仮想環境を自動化する方法として、 cobblerとかKoanとかあって便利に使わせてもらっているのですが、 そもそもlibvirtについての知識があまりなかったので、勉強がてらに、 python使ってちょっと触れてみました。 ※Koanは本家のリンクが切れていたようなので、mizzyさんのサイトへリンク張らせてもらいました。 まず、kvmの環境があることが前提になります。 kvmの環境とかは、参考になるサイトがいっぱいあるので、割愛します。 後は、ちょっとpython試すのに便利なbpython使います。 モジュール名とか関数とかいろいろと補完効くので、便利です。 # モジュールをインポートします >>> import libvirt >>> import sys # モジュールについて調べたいときは、 >>> help(libvirt) # VMM(Virtual Machi
ATF(ARM Trusted Firmware)は、ARMv8では重要なソフトウェア。 全体を利用するのではなく、その一部を利用可能。 この資料では、BL31(EL3 Runtime Firmware)を単体で使う場合、どうすればいいのかを、Xilinx社のZynq UltraScale+ MPSoCを例に説明しています。 ATF (ARM Trusted Firmware) is an important software in ARMv8. Instead of using the whole, part of it is available. This document explains how to do when using BL31 (EL3 Runtime Firmware) alone, for example, with Xilinx's Zynq UltraScale
さて、カーネル/VM Advent Calendar 2012 5日目でございます。 初めに 新ネタ...? ヒィ、そんなものないです>< というわけで夏に出したネタを引きづり出してこねくり回してお茶を濁すことにしましょう。 題しまして「virtio-net on Plan 9」でございます。virtio-netのPlan 9実装*1について、ざらりとお話したいと思います。 夏にうちの薄い本持っていった人は読み飛ばすといいよ! えっ、pdf後悔公開? 永遠に改訂中さ! virtio & virtio-netについての参考資料 文章系 Virtio PCI Card Specification 事実上virtioの仕様書 とあるvirtioドライバの接続部分 by @hasegaw さん 正直これ(とspec)だけよめば実装できるのでは... 他OSのドライバコード とはいえ、実装のために挙
What are paravirtual devices? When running a virtual machine, the virtual environment has to present devices to the guest OS – disks and network being the main two (plus video, USB, timers, and others). Effectively, this is the hardware that the VM guest sees. Now, if the guest is to be kept entirely ignorant of the fact that it is virtualised, this means that the host must emulate some kind of re
virtioについて調査した事を以下に記述する。 virtioはLinux 2.6.24-rc1で導入された準仮想ドライバです。現在のところディスクおよびNICの入出力を処理できます。KVMやlguestなどのVMMなどで利用されています。 virtioの利点 一般的に準仮想ドライバを実装するのはかなり難しく、Linuxカーネルについて詳しく知らなければなりません。virtioを利用することによって、Linuxの準仮想ドライバの実装コストが0になります。 virtioによる入出力処理の構造 virtioの入出力処理の構造は入出力要求側(ゲスト側)と入出力処理側(VMM側)に分かれています。Xenと同様にゲスト側のフロントエンドドライバとホスト側のバックエンドドライバと同じようになっています。 ゲスト側: Linuxカーネルをvirtioを有効にしてコンパイルすることにより、仮想的なvirt
© 2008 IBM Corporation IBM Research Paravirtualized File Systems Eric Van Hensbergen IBM Austin Research Lab (bergevan@us.ibm.com) KVM Forum 2008 2 IBM Research Paravirtualized File Systems – KVM Forum 2008 © 2008 IBM Corporation Agenda Motivation: Why File Systems? Overview of Approach (9P over Virtio) 9P Basics Using 9P/virtio with KVM Preliminary Performance Future Work 3 IBM Research Paravirt
KVM で virtio を使わなかったときと使ったときのベンチマークを、カジュアルに計測してみました。ベンチマークは、virtio_net は Using VirtIO NIC – KVM と同じ内容もの、virtio_disk は hdparm で計測してみました。 環境は、Host/Guest ともに CentOS 5.6 x86_64。サーバは、モダンなもので、同じネットワーク上にあるホストから Guest の CentOS 5.6 に iperf を使ってベンチマークを計測してみました。 virtio_net $ iperf -c -w 65536 -p 12345 -t 60 virtio_net なし [ ID] Interval Transfer Bandwidth [ 3] 0.0-60.1 sec 1023 MBytes 143 Mbits/sec virtio_net
Docker Meetup Tokyo #26での発表資料です。 いろいろなコンテナランタイムについて、機能、セキュリティ、パフォーマンス、開発動向に着目して比較調査および性能測定を行ないました。 ぜひ以下の記事も合わせてご参照ください。 『今話題のいろいろなコンテナランタイムを比較してみた[Docker Meetup Tokyo #26発表レポート]』 https://medium.com/nttlabs/container-runtime-d3e25189f67a unikernelベースのイメージの作り方などの技術的な話題は付録にも記載しましたが、近々、別の形でもまとめようと考えています。 [留意] 本資料中の性能測定は、コンテナランタイムのCRI命令処理(Podやコンテナの作成から削除までの各ステップのCRI命令)の性能を測定したものです。 それらCRI命令への処理はあくまでもコン
GTAC 2013 Opening Keynote の Evolution from Quality Assurance to Test Engineering (スライド) を見た。 スライドの7ページ目 によると、Google では 15,000 あまりの開発者が、40 あまりの拠点に分散している。そして、彼らはひとつの巨大なレポジトリで、ブランチなしに開発しているらしい。 Single monolithic code tree with mixed langauge code Over 100 million lines of code. 50% of code changes monthly. Development on one branch - submissions at head 講演ではこの理由について One of the benefit is that we don’
Preliminaries Introduction The Cyrillic Alphabet Rules of Pronunciation The Basic Spelling Rules of Russian The Parts of Speech The Russian Verb Verb Stems and Endings Rules of Combination Verbal Accent Patterns Mutant Consonants Verbal Aspect Verbal Aspectual Pairs Verbs of Motion Verbs of Position Reflexive Verbs Participles The Russian Noun What are Nouns? Nouns and the Gender Gap Gender and Ag
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く