adtech studio

Scala Days 2016 in New York【3日目】

By shokota

Scala ScalaDays Spark

あっという間に滞在4日目になりました。

今日もNYは快晴。気持ちよく会場に向かい、しっかり朝食をいただきました。

最終日もKeynoteからスタートです。セッションからピックアップしたものと合わせてご紹介します。

 

Keynote Spark 2.0 – Matei Zaharia

DSC00224

最終日、3日目のKeynoteはdatabricks社のCTO、Matei Zaharia氏の講演でした。

大きなトピックとしては下記が取り上げられていました。

  • Project Tangsten:  CPU/Memoryの改善が、2.0以降で対応予定とのこと
  • Dataset : DataFrameのパフォーマンスを維持し、static typeに対応したDataSetが1.6のリリースで公開された
  • Structured Streaming ; 2.0以降の方針として、streaming処理上にバッチ処理やspotでのSQLの実行などが可能になる

大枠は今年のSpark Summit (http://www.slideshare.net/databricks/2016-spark-summit-east-keynote-matei-zaharia)での発表に沿った内容となっていましたが、現状のsparkの課題(groupByKeyのパフォーマンス, java object に関してなど)にも触れられていました。今後はDataFrame/Datasetを最適化していく方針とのことです。

 

Implicits Inspected and Explained – Tim Soethout

DSC00233

implicitの定義からスコープ, type classでの使用方法まで、コードを中心として解説するセッションでした。

特にtype classにおける解説は、json writerを例に出して丁寧に解説されていました。

実装にあたっての注意事項も含んでいたので、動画が公開されたら初学者にオススメできる内容だと思います。

スライド: http://blog.timmybankers.nl/implicits-inspected-and-explained-slides/#/

 

Finagle Under the Hood – Vladimir Kostyukov

finagle

アドテクスタジオでも注目しているFinagle(https://github.com/twitter/finagle)の解説セッションでした。

※アドテクスタジオでのFinagle紹介記事はこちら

http://adtech.cyberagent.io/scalablog/2016/04/14/adtech-scala-meetup-finagle/

発表では基本から網羅的に解説され、上記紹介記事と内容がかぶる点が多かったのですが、clientのロードバランシングアルゴリズムについて、Peak EWMA(Exp. Weighted Moving Average)が優れているという話は参考になりそうでした。

※以下のブログで紹介されている比較を紹介していました。

https://blog.buoyant.io/2016/03/16/beyond-round-robin-load-balancing-for-latency/

スライド : http://vkostyukov.net/slides/finagle-101/?full#Cover

 

Scala Goes Native – Denys Shabalin

scala_goes_native

初日のKeynoteで紹介があっただけに超満員のセッションでした。

またこのセッション中にGitHubの公開ボタンが押され、会場は大盛況でした!

*オープンソース化されたコードはこちら

https://github.com/scala-native/scala-native

*公式ページはこちら http://www.scala-native.org/

C++で書かれた実装と同一内容のScala実装を用意し、Scala Nativeライブラリを適用することでC++に匹敵するパフォーマンスを発揮できることが示されていました。

応答速度が求められる場面での選択肢が一つ増えるだけでなく、将来的に多くのライブラリで使用されるようになる可能性を秘めた発表だったと感じました。

スライド  :  https://github.com/densh/talks/blob/517b20c30dd4aaf390785039cdd002f623eaa91e/2016-05-11-scala-goes-native.pdf

 

Metaprogramming 2.0 – Eugene Burmako

Metaprogramming 2.0

EPFL の Eugene Burmako (@xeno_by) 氏の scala.meta に関するセッションでした。

昨年の Scala Days 2015 でも発表がありその際は experimantal な色が強いものでしたが、その後 Codacy(https://www.codacy.com/), scalafmt(scalafmt.org) の事例ができ、将来的には新しいMacroや昨日の発表であったDotty-Linkerで使われるとのことでした。

Using Actors for the Internet of (Lego) Trains – Johan Janssen

DSC00248

Remote Actor, Scala, Raspberry Pi を使って、レゴで作った電車やロボットを動かすアプリの紹介でした。

実際に電車が動いていて、最後にとてもワクワクするセッションが見れました

DSC00254  可愛かったです

まとめ

今年のScala Daysは会場の大きさとしては昨年よりもこじんまりしていましたが、その分熱気に溢れたカンファレンスでした。
lagomを含むreactive/microservice化の推進, dottyコンパイラの開発進捗状況, Scala Nativeのオープンソース化あたりが今回の大きなトピックだったと思います。
例年通り、今後追加でスライドや動画が上がってくると思います。継続してチェックしていきましょう!
DSC00258