2021/03,江端さんの技術メモ

シミュレータの対象人数が増えると、シミュレータがフリーズしてしまう、という問題が生じたので、まずは、手っ取り早く、Dockerコンテナのメモリとスワップを倍にしてみる処理をしてみた。

起動開始までの時間が恐ろしく長い(5分以上。なんでだ?)が、とりあえず、シミュレーション人数500人(実行時間4分弱)→3000人(22分)→4000人(16分? なんで減っている)→での稼動を確認。

しかし、5000人は失敗、4500人も失敗。では、メモリをもう2G増量。

そこで、6GBまで上げてみた。

うん、こうしても、4500人は落ちるなぁ。

websocketコネクション数の問題かなぁ?

それより、多分、これは私のPCの物理メモリが16GBしかないので、Dockerの設定を大きくしても効果が出てこないのだろう、と推測しています。

ならば、逆に6GBで設定してしたままにしておいて、コンテナの方でメモリ制限するというのは、どうかな、と思いやってみました。

以下、docker-compose.ymlで改造した部分。今回は、controlのコンテナだけメモリ増量できれば良い(それ以外のコンテナは1GBで縛る)、という方針としました。

# docker-compose のバージョン
version: '3'
# 各コンテナの情報
services:
  # postgres サービス
  postgres:
    image:  pamtrak06/postgis-pgrouting-osm:latest
    # コンテナの名前
    # container_name: postgres_db
    # Dockerfile のディレクトリパス
    build:
      context: .
      dockerfile: ./docker/postgres/Dockerfile
    # postgres 設定
    environment:
      - POSTGRES_HOST_AUTH_METHOD=trust
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=XXXXXXX
      - POSTGRES_DB=XXXXXX
    volumes:
      - db_data
      - ./control:/go/src/work # マウントディレクトリ指定
    expose:
      - 5432 # 兄弟コンテナから5432でアクセスできるようにする
    ports:
      - "8910-8911:5432"
    tty: true # コンテナの起動永続化
    mem_limit: 1g # メモリを1Gに制限
  db_data:
    image: busybox
    volumes:
      - /data/db
    mem_limit: 1g # メモリを1Gに制限
  app_control: # service名
    build: . # ビルドに使用するDockerfileがあるディレクトリ指定
    tty: true # コンテナの起動永続化
    volumes:
      - ./control:/go/src/work # マウントディレクトリ指定
    expose:
      - 8900
    ports:
      - "8900-8901:8900"
    image: control_agent
    # container_name: control_agent_app
    # restart: always  # ログイン時に自動起動
    # ここだけメモリの制限をしない
  app_user: # service名
    build: . # ビルドに使用するDockerfileがあるディレクトリ指定
    tty: true # コンテナの起動永続化
    volumes:
      - ./user:/go/src/work # マウントディレクトリ指定
    expose:
      - 8920
    ports:
      - "8920-8921:8920"
    image: user_agent
    # container_name: user_agent_app
    # restart: always  # ログイン時に自動起動
    mem_limit: 1g # メモリを1Gに制限
  app_bus: # service名
    build: . # ビルドに使用するDockerfileがあるディレクトリ指定
    tty: true # コンテナの起動永続化
    volumes:
      - ./bus:/go/src/work # マウントディレクトリ指定
    expose:
      - 8930
    ports:
      - "8930-8931:8930"
    image: bus_agent
    # container_name: bus_agent_app
    # restart: always  # ログイン時に自動起動
    mem_limit: 1g # メモリを1Gに制限

 

5000人は失敗したけど、4500人まで増やすことに成功しました。

それと、controlコンテナのスピードが物凄く上がっているような気がします(比較計測できませんが)。

 

 

 

 

2021/03,2021/03,江端さんの忘備録

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

がでてきたら、

とりあえず、

sudo apt-get update

sudo apt-get install

だな。

 

2021/03,江端さんの忘備録

私は、菓子の製造方法について、全く知見がありませんが、通常の加工食品より、緻密な制御が必要である、ということくらいは知っています。

I don't have any knowledge about how to make confectioneries, but I do know that they require more precise control than normal processed foods.

特に重要なのが、材料の量。グラム単位で緻密に計測する必要があるそうです。

What is especially important is the amount of material, which they says should be measured precisely in grams.

また、わずかな温度や時間によって、できあがるお菓子の味が全く変わってくるのだそうです。

Also, the slightest change in temperature or time can completely change the taste of the finished pastry.

さまざまなお菓子の中でも、「マカロン」は、超絶難しい ―― という話を、次女から聞かさました。

My junior daughter told me that among the various sweets, "macarons" are extremely difficult to make.

私の聞いたところでは、マカロンの味を左右するパラメータは、軽く10を越え、そのパラメータが独立変数でないようです。

From what I've heard, there are lightly more than 10 parameters that affect the taste of macarons, and it seems that these parameters are not independent variables.

「独立変数ではない」とは、変数どうしが影響し合うということで、つまるところ、最適解が線形に求められない、ということで ――

The term "not independent variables" means that the variables influence each other, and in short, the optimal solution cannot be obtained linearly.

つまり、これは、マカロンを最高の状態で完成させる、材料の量、混合比、燃焼温度、放熱時間、外気温や湿度その他もろもろが、簡易に求められない、という難問であるということで、

This means that the amount of ingredients, mixing ratio, combustion temperature, heat release time, outside temperature and humidity, and other factors that make macarons perfect are not easily determined.

―― マカロンの作り方は、数学で言うところのNP困難問題と同じである

"Making macaroons is like an NP-hard problem in mathematics"

と、(私なりの解釈ですが)次女はそのような話をしていました。

(That's my interpretation) my junior daughter talked about it that way.

『しかるに、バレンタインに「手作りマカロン」を平気で要求してくる、あの男は馬鹿か?』

"And yet, that guy who insists on homemade macaroons for Valentine's Day is an idiot?"

と、娘は、自分の彼氏を罵倒しまくっていました。

She was cursing her boyfriend all the time.

-----

ええ、今の私は、次女の憤りが手に取るように分かります。

Yes, now I understand my second daughter's indignation.

江端:「絶対的にお前が正しい。課題の困難さを理解していない上に、気楽に人に要求するやつはだなぁ、「極刑」に値するといっても良いであろう」

Ebata: "You are absolutely right. Those who don't understand the difficulty of the task, and who comfortably make demands of others, deserve the ultimate punishment.

江端:「『NP困難であるDial-A-Ride問題に、人間の心理状態を加えて上で、リアルタイムで解くことを「簡単」のように言う奴は、馬鹿なのか?』って思っているぞ!」

Ebata: "I'm also thinking, 'Is that guy stupid enough to think that adding human psychological states to an NP-hard Dial-A-Ride problem, and then solving it in real time, is 'easy'? That's what I'm thinking!

と、親子二人で、世の中の理不尽に対して、怒りの雄叫びを上げ続けていました。

The two of us, father and daughter, continued to scream in anger at the unreasonableness of the world.

2021/02,江端さんの忘備録

長女の大学の卒業式が中止されることなく実施されることになったようなのですが、コロナ対策で色々制約がでているようでした。

It seems that the graduation ceremony of my eldest daughter's university will be held without being cancelled, but there seemed to be various restrictions due to the Corona measures.

先ず、「保護者の出席禁止」は、まあ当然として、不明点があったので、大学に問い合わせをしてみました。

Aside from the obvious "no parent/guardian allowed to attend," I had other questions, so I contacted the university.

電話が繋がらなかったので、メールで連絡してみた結果、以下の回答を頂きました。

Since I couldn't get through on the phone, I contacted them by email and received the following response.

■ 大学構内に入ることもダメ

- We can't even enter the university campus.

■ 大学の門前での記念撮影もダメ

- Taking a picture in front of the university gate is also not allowed.

つまり「卒業式からの卒業生以外の人間の完全排除」です。

In other words, "the complete exclusion of non-graduates from the graduation ceremony.

(今日、イベイト通知のWebサイトを見直してみたら、上記の2つについての情報が追記されていました)

(I reviewed the Evite Notification web site today and found that information about the above two has been added.)

-----

『良い決断だ』と、私は高く評価しています。

I think it's a good decision".

そもそも、卒業式を敢行したという決断だけでも、「大した度量だ」と思っているくらいです。

I even consider the decision to hold the graduation ceremony in the first place as "a great degree".

-----

この時期に、イベントの開催についての采配をしなければならない立場の方々に、心からの感謝を。

I would like to express my sincere gratitude to those who are in a position to take charge of organizing the event at this time of the year.

私にできることは、その方々の苦労を、できるだけ少なくすることくらいです。

The least I can do is to minimize their hardships as much as possible.

2021/02,江端さんの忘備録

前回のコラム(「シバタレポート前半」)の執筆を終えて、私は、新型コロナワクチンに関する知識をざっくりと理解することができた、と思っています。

After writing my last column (the first half of the Shibata Report), I think I have a rough idea of what I know about the new coronary vaccine.

そして、ITエンジニアとしての私は、デジタルで設計されたワクチンを、体内に投入する日(ワクチン接種の日)を、楽しみに待っています。

And I, as an IT engineer, am looking forward to the day when the digitally designed vaccine is put into my body (the day of vaccination).

『フッフッフ・・。コンピュータで設計された「なんちゃって(デジタル?)コロナウイルス」に、騙(だま)されろ!私の体!!』

"Huh-uh. My body! Be fooled by the computer-designed 'digital coronavirus'"

と考えるだけで、ワクワクが止まりません。

I can't stop the excitement just thinking about it (*)

という話を家族にしたら、『世の中には、色々な考えをする人がいるのね』と、軽くスルーされました。

When I mentioned this to my family, they just brushed it off, saying, "There are many people in the world who think in different ways.

-----

デジタルウイスル(mRNA)(*)を体内に注入して、アナログウイルス(SARS-CoV-2)を駆逐する ――

"Digital virus (mRNA)(*) is injected into the body to eradicate the analog virus (SARS-CoV-2)"

(*)もちろん、この表現はメタファです

(*) Of course, this expression is just a metaphor.

こんなSFのような話が、今、世界で、人類全員に施されようとしている ―― これは、凄いことです。

This kind of science fiction story is now being given to all human beings in the world -- this is a great thing.

勿論、「今回は運が良かった」「SARS-CoV-2と相性が良かった」とは言えますが、この技術は、他のウイルス感染症への展開はできるはずです。

Of course, we can say that "we were lucky this time" or "it was a good match with SARS-CoV-2," but this technology should be able to be deployed to other viral infections.

デジタルウイルスの活用先は、今回のようなウイルス感染は勿論として、ほとんどのガン治療にもあるはずです。

Digital viruses can be used to treat most cancers, not to mention viral infections such as this one.

さらに言えば、

What's more,

「同性間で子どもをつくることはできる?検証のための基礎知識~iPS、ES細胞」

"Can homosexuals have children? Basic Knowledge for Verification - iPS and ES Cells"

で記載した、iPS細胞への展開も可能なはずです。

This technology should also be able to be applied to iPS cells, as described in this column.

mRNAは、私たちのDNAに記載されていない情報のタンパク質も作り出すことができるのですから、その目的を「抗体生成」に限定する必要はないはずです。

Since mRNA can also produce proteins with information that is not described in our DNA, it should not be necessary to limit its purpose to "antibody production.

これからは、「IT(Information Technology) x GT(Genetic technology) という時代が本格化する」という予感がビンビンしています。

I have a strong feeling that the era of IT (Information Technology) x GT (Genetic technology) will be in full swing from now on.

-----

まあ、同時に、その抵抗勢力の動きも予見できます。

Well, at the same time, we can foresee the movement of that resistance.

今や常識となった「試験管ベイビー」や、「クローン牛」。

Test tube babies" and "cloned cows" are now common knowledge.

そういえば、今回のmRNAについて「ワクチンの設計アプローチが神の教えに反している」という抗議をしている団体(バチカン等)の話は聞きませんね。

By the way, I haven't heard of any groups (Vatican, etc.) protesting about this mRNA, saying that the vaccine design approach is against God's teachings.

彼らは、「iPS細胞」が登場する前、「ES細胞」にすら抗議していたハズですが ―― ES細胞は「胎児の細胞を使う」という点がひっかっかったのだから、今回のケースとは違うかもしれません。

They were even protesting against "ES cells" before the advent of "iPS cells". However, ES cells were stuck on the point of "using fetal cells", which may be different from this case.

-----

今回、もしバチカンが「mRNAワクチン」を叩くような方向で動けば、私たちが「バチカンを世界から破門する」という事態になるかもしれません ――

This time, if the Vatican moves in the direction of slamming the "mRNA vaccine", we may end up "excommunicating the Vatican from the world" -- a situation that would be very difficult to avoid.

それはそれで、見てみたい気もしますが。

That's something I'd like to see, though.

2021/02,江端さんの技術メモ

今回のコラム「あの医師がエンジニアに寄せた“なんちゃってコロナウイルスが人類を救う”お話」で、使わなかった図面。

でも、今後、「素材として使える」かもしれないので、忘れないようにアップしておく。

ファイル名は「ワクチン_ボツ図面.pptx」で、いつものところに置いておくので、忘れないように > 私

 

2021/02,江端さんの忘備録

本日は、コラムがリリースされた日なので、日記はお休みです。

Today, new my column is released, so I take a day off.

 

世界を「数字」で回してみよう(65)番外編

あの医師がエンジニアに寄せた“なんちゃってコロナウイルスが人類を救う”お話

Let's turn the world by "Number"(65) : Extra edition

A doctor writes to an engineer about how a fake coronavirus will save humanity

-----

シバタ先生からのレポートを受けとってから、シバタ先生とEE Times JapanのMさんを巻き込みつつの、突貫作業でした。

After receiving the report from Dr. Shibata, it was a rush job involving him and Ms. M from EE Times Japan.

(公開するなら)「今でしょ!」と、急かされるような思いで作業に没頭してきました。

"It's now or never!" I've been immersed in the work, feeling rushed.

まあ、今回のコラムは、最後のページにある、このフレーズに付きます。

Well, this column can be summed up with this phrase on the last page.

江端:「うん、もう正直、「人工知能」とか、「量子コンピュータ」とか、その程度のテクノロジーなんぞ一瞬で消し飛ぶような大衝撃だったよ。ノーベル賞10年分の先行予約に値するイノベーションで、科学史に残る金字塔だと確信している」

Ebata: "Well, to be honest, it was such a huge shock that it instantly wiped out "artificial intelligence," "quantum computers," and other technologies of that level. I'm convinced that it's an innovation worthy of a Nobel Prize 10 years in advance, and a milestone in the history of science.

私たちは、人類史に残る最悪の災厄(COVID-19)を、人類史に残る最強の幸運(mRNAワクチン)によって、今回も生き延びることができそうです。

We are going to survive the worst disaster in human history (COVID-19), this time with the strongest good luck in human history (mRNA vaccine).

-----

最終稿をEE Times Japanにメールで送付し終えて、リビングに降りて、インスタントコーヒーを飲んでいました。

After finishing emailing the final draft to EE Times Japan, I went down to the living room and had a cup of instant coffee.

I began to speak to my family.

「これは、例の後輩からの受け売りなんだけどね・・・」

"This is something I got from a junior colleague of mine..."

と断わりつつ、私は言いました。

「米国元大統領は、その資質はどうあれ、『一流のギャンブラー』ということだけは、否定できないんだよ」

"Whatever his qualifications, nobody could deny that the former president of the United States is a 'top-notch gambler'"

と言ったら、家族全員が深く納得していました。

Upon hearing this, all the family members seemed to be deeply convinced.

 

2021/02,江端さんの忘備録

(昨日の続きです)

(Continuation from yesterday)

「自分を変えたい」―― 私、生まれて一度も、そんなこと考えたことがありません。

I want to change myself... I've never thought about that in my life.

# この話を人にすると、かなりドン引かれるようですが。

# When I tell people about this, they seem to be quite taken aback.

これには2つほど理由があります。

There are two reasons for this.

まず一つ目は「気持ち悪い」からです。

The first reason is because it's "weird".

「自分を変えたい」っていうのは、「自分を換えたい(交換したい)」ということであって、「他人になりたい」と同じこと、と思えるので ―― 理解できないし、気持ち悪いです。

It seems to me that "I want to change myself" means "I want to exchange myself", which is the same as "I want to become someone else" --so I don't understand it and it's weird.

二つ目は、「そもそも、自分は変えられない」と思っているからです。

The second reason is that I believe that we cannot change ourselves in the first place.

それは、「木材」という材質を「石材」という材質に変えるくらい、難しいことだと思っています。

I think it is as difficult as changing a material called "wood" to a material called "stone".

いや、もしかしたら「木材」を「石材」に変えることは可能なのかもしれません。

Well, it might be possible to change "wood" to "stone".

しかし、その変換に費すエネルギーを考えると、どうにも「非合理的」というか「時間と金の無駄」と思うのです。

However, when I think about the energy spent on the conversion, I can't help but think it's irrational or a waste of time and money.

-----

で、さきほどの「上手」「下手」の話に戻りますが ――

So, back to the topic of "good" and "bad"...

「自分を変える」のではなく、「自分の上手な使い方(運用方法)」を考える方が、いいと思うんです。

Instead of "changing myself," I think it's better to think about "how to use (operate) myself better.

多分、「活用方法」の方が、金も時間もかからないと思いますし、まちがいなくラクです。

Probably, "how to utilize" will take less money and time, and it is definitely easier.

―― そんな簡単に自分の活用方法が見つかるなら、こんな苦労するかよ!

"If it were that easy to find a way to utilize myself, I wouldn't have all this trouble!"

という意見も理解はできるのですが、「自分を変える」などという、無謀な挑戦よりも勝算はあると思います。

I can understand the point of view, but I think the odds are better than the reckless challenge of "changing myself".

-----

まあ、この手の話になると、誰もが「上から目線」の「たまたま自分の人生を、いい感じに乗せた奴の自慢話」に聞こえると思います。

Well, when it comes to this kind of talk, I think it sounds like "bragging from the top" from a guy who just happens to have his life in a good way.

そうかもしません。

Maybe so.

だから、「何か上手くいっているような実感を持って生きている人間」は、それを黙っていることが「礼儀」だとも思います。

So I also think it is "polite" for "people who live with the feeling that something is going well" to keep quiet about it.

私も「沈黙しなければならない」と思うことがあります。

I sometimes feel that I must be silent too.

コラムやブログで喧しく騒いでいる私ですが、「黙っていること」も沢山あります。

I make a lot of noise in my columns and blogs, but there are many things I keep quiet about.

-----

その一方で ――

On the other hand--

「自分が嫌い」だの「自分を変えたい」だのという言葉を濫用して、それを上手くいかない自分の人生の「免罪符」のように振舞っている奴等を見ると ――

When I see people abusing words like "I hate myself" and "I want to change myself" and acting like it's an "exemption" for their life not going well...

そうですね、例えば、あそういう歌詞が満載のティーンアイドルの歌を聞いたりしていると、

Yes, for example, when I listen to teen idol songs full of those kinds of lyrics.

『お前らも、少し黙っていろ』

"You also shut up for a minute"

って、言いたくなるんですよ。

That's what I want to say.

2021/02,江端さんの忘備録

私のような仕事(シミュレーション、通信プログラムの作成)になると、パソコン(PC)のリソースを極限まで使うことがあります。

About my works (creating simulations, communication programs), I sometimes use the resources of my personal computer (PC) to the limit.

極限を超えると、アプリケーションは止まり、PCがフリーズします。

When the limit is exceeded, the application will stop and the PC will freeze.

そもそも、WindowsやLinuxのオペレーティングシステム(OS)は、このような事態が発生しないように、コンピュータのリソース管理を行うのですが、私たちの仕事は、OSのコントロールを超えたところにまで及ぶことがあります。

In the first place, the Windows and Linux operating systems (OS) manage the resources of the computer to prevent this from happening, but our work can extend beyond the control of the OS.

そのような状態になると、これまでの仕事が全部オジャンになりますので、避けなければなりません。

All the work I have done so far will disappear, so I must avoid such a situation.

つまり、PCの世界の中を、OS任せにしないで、自ら管理・制御することが必要になる(ことがある)のです。

In other words, it is (sometimes) necessary to manage and control the inside of the PC world by myself, without leaving it to the OS.

-----

私がPCに向かっている時、それは、一人であり、「究極のボッチ」である ―― かのように見えます。

When I'm at my computer, it seems that I am a lonely and un "ultimate isolation".

しかし、複数のタスクを一つもダウンさせることなく、同時にコントロールする「最強のリア充」である ―― とも言えます。

However, it can be said that it is the "sociable person" that controls multiple tasks at the same time without downing any one of them.

つまり、自分がどう見えるか、人から自分がどう見えているか、それは、つまるところ相対的なものである、ということです。

In other words, how you look, and how others see you, is ultimately relative.

-----

『陽気で外交的でリーダーシップが取れるという人間』 ―― これを「陽キャ」というそうですが、

"A person who is cheerful, diplomatic, and capable of leadership" -- this is called a "cheerful".

これは長い間 ―― 少なくとも、私がティーンだった時代から、「陽キャ」は不動の価値観として君臨し続けてきました。

This has been the case for a long time -- at least since the days when I was a teenager, and "cheerful" has continued to reign as a steadfast value.

この反意語として「根暗」「陰気」「ネガティブ」「陰キャ」という形容句が、人の蔑む言葉として濫用されてきました。

As antonyms, adjectives such as "dark-hearted," "gloomy," "negative," and "nerd" have been abused as derogatory terms for people.

ただ、このような「陽キャ」と「陰キャ」という対立構造は、ネットというバーチャル空間の乱入によって、以前のように対比できなくなっているように思います。

However, I think that this structure of opposition between "cheerful" and "nerd" can no longer be contrasted as it used to be due to the intrusion of the virtual space of the Internet.

なんと言えばいいのですかね ―― ちょっとまだ上手く言語化できないのですが、敢えていうのであれば「上手」「下手」って感じでしょうか。

I don't know how to put it into words, but if I had to, I'd say "good" and "bad".

(続く)

(To be continued)