New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 836093 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 5
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Feature

Blocked on:
issue 836092

Blocking:
issue 836095


Participants' hotlists:
ML-Service


Sign in to add a comment

ML Service: Fully stubbed out Mojo service implementation

Project Member Reported by amoylan@chromium.org, Apr 24 2018

Issue description

Implement a stubbed-out version of the full ML Service Mojo interface. I.e. stub ModelProvider, can supply client with stub models, which can supply stub graph-evaluators, etc.
 
Blocking: 836095
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 21 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/39ef70c1e9d95a4b4d8f25c21df8baa41fe562a7

commit 39ef70c1e9d95a4b4d8f25c21df8baa41fe562a7
Author: Andrew Moylan <amoylan@chromium.org>
Date: Thu Jun 21 11:45:49 2018

chromeos-base/ml: Add dependencies

Add missing dependencies. Without these deps, build_packages sometimes needs
to retry builds of this package.
The libmojo is not strictly needed today but is about to be needed when
the real implementation of this Mojo daemon is added.

Tested with:
  cros_workon --board=amd64-generic start ml && \
    ./setup_board --board=amd64-generic --force && \
    ./build_packages --board=amd64-generic ml

BUG= chromium:836093 
TEST=As above

Change-Id: I05854ef86eab096c5ab6427c4b230705264ef05a
Reviewed-on: https://chromium-review.googlesource.com/1101612
Commit-Ready: Andrew Moylan <amoylan@chromium.org>
Tested-by: Andrew Moylan <amoylan@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/39ef70c1e9d95a4b4d8f25c21df8baa41fe562a7/chromeos-base/ml/ml-9999.ebuild

Cc: napper@chromium.org martis@chromium.org amoylan@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Jul 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/ff6be511d7be61934523db3537f0a919abd31c40

commit ff6be511d7be61934523db3537f0a919abd31c40
Author: Andrew Moylan <amoylan@chromium.org>
Date: Mon Jul 16 08:18:07 2018

ml: Add D-Bus->Mojo bootstrap with stub Mojo impl

This CL gives a proper implementation of the BootstrapMojoConnection
D-Bus method offered by the ML service daemon.

The caller of that method (Chromium) passes a file descriptor
representing a Unix socket. With this CL, the daemon reads a Mojo
invitation from the socket in order to connect the daemon's Mojo to
Chromium's Mojo process graph. It also extracts a primodial pipe
included by Chromium in the invitation and binds a (placeholder stub)
implementation of the new top-level Mojo interface
MachineLearningService.

The Chromium side of the above interaction is included in
crrev.com/c/1123964.

This CL also brings the .mojom files specifying the ML service Mojo
interface under platform2/ml. Previously these were under
platform/system_api/mojo, with the intent to share them with Chromium,
but Chromium will instead maintain its own eventually-consistent copy of
the mojoms. We are switching to this recommended approach for the
reasons discussed in the following doc:
https://docs.google.com/document/d/1rX3xtR6ZioKZaO-4qBFJFqFypSX1p6gAvQ_MuYn64G8
A separate CL will remove the .mojoms under platform/system_api/mojo.

Testing:

How to automatically test that Chromium + the daemon successfully
perform the D-Bus -> Mojo bootstrap is not clear and is under discussion
(comments welcome). It may have to wait until there is a client in
Chromium calling the daemon, which could then have an end-to-end
autotest.

I manually tested this against a Chromium built with crrev.com/c/1123964
and that also included some test calls to BootstrapMojoConnection
initiated from chrome_browser_main_chromeos.

Scenarios tested:
- Boot (OK for either service to be ready first)
- Sudden restart of UI (daemon should quit itself)
- Sudden restart of daemon (UI should reconnect)

BUG= chromium:836092 , chromium:836093 
TEST=Manual test per above. How to set up an automated integration test
     for the bootstrap is TBD (future CL).

Change-Id: Ied6309d9a51656dda1af01114b0f05fdb90bfd88
Reviewed-on: https://chromium-review.googlesource.com/1123663
Commit-Ready: Andrew Moylan <amoylan@chromium.org>
Tested-by: Andrew Moylan <amoylan@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[add] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/mojom/machine_learning_service.mojom
[add] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/mojom/model.mojom
[add] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/machine_learning_service_impl.cc
[add] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/machine_learning_service_impl.h
[add] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/mojom_generator.gypi
[modify] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/daemon.h
[modify] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/main.cc
[modify] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/daemon.cc
[add] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/mojom/tensor.mojom
[modify] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/ml.gyp
[add] https://crrev.com/ff6be511d7be61934523db3537f0a919abd31c40/ml/mojom/graph_executor.mojom

Triage nag: This Chrome OS bug has an owner but no component. Please add a component so that this can be tracked by the relevant team.
Status: Fixed (was: Started)

Sign in to add a comment