Merge pull request #465 from firesim/cleanMarshalDocs

Move even more documentation to FireMarshal's own readthedocs.
This commit is contained in:
Nathan Pemberton 2020-01-24 16:03:02 -08:00 committed by GitHub
commit 1f767e4df2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 14 additions and 128 deletions

View File

@ -1,65 +0,0 @@
Quick Start
--------------------------------------
All workload-generation related commands and code are in ``firesim/sw/firesim-software``.
FireMarshal comes with a few basic workloads that you can build right out of
the box (in ``workloads/``). In this example, we will build and test the
buildroot-based linux distribution (called *br-base*).
We begin by building the workload. This will build the linux binary, the platform
specific drivers (and initramfs), and the root filesystem:
::
./marshal build workloads/br-base.json
The first time you build a workload may take a long time (buildroot must
download and cross-compile a large number of packages), but subsequent builds
of the same base will use cached results. Once the command completes, you
should see two new files in ``images/``: ``br-base-bin`` and ``br-base.img``.
These are the boot-binary (linux, initramfs, and boot loader) and root filesystem
(respectively). We can now launch this workload in qemu:
::
./marshal launch workloads/br-base.json
You should now see linux booting and be presented with a login prompt. Sign in
as 'root' with password 'firesim'. From here you can manipulate files, run
commands, and generally use the image as if it had booted on real hardware. Any
changes you make here will be persistent between reboots. Once you are done
exploring, simply shutdown the workload:
::
$ poweroff
It is typically not a good idea to modify the \*-base workloads directly since
many other workloads might inherit those changes. To make sure that we've
cleaned out any changes, let's clean and rebuild the workload:
::
./marshal clean workloads/br-base.json
./marshal build workloads/br-base.json
Note that this build took significantly less time than the first; FireMarshal
caches intermediate build steps whenever possible. The final step is to run
this workload on the real firesim RTL with full timing accuracy. To do that we
must first install the workload:
::
./marshal install workloads/br-base.json
This command creates a firesim workload file at
``firesim/deploy/workloads/br-base.json``. You can now run this workload using
the standard FireSim commands (e.g. :ref:`single-node-sim`, just change the
``workloadname`` option to "br-base.json" from "linux-uniform.json").
.. attention:: While the FireMarshal ``install`` command is the recommended way to create
firesim configurations, you can still hand-create firesim workloads if needed.
For example, the linux-uniform workload described in :ref:`single-node-sim` is
a manually created workload that uses the br-base-bin and br-base.img files
directly.

View File

@ -2,52 +2,14 @@
Running Fedora on FireSim Running Fedora on FireSim
===================================== =====================================
All workload-generation related commands and code are in ``firesim/sw/firesim-software``. FireSim supports running a fedora-based linux workload. To build this workload,
you can follow FireMarshal's `quickstart guide
<https://firemarshal.readthedocs.io/en/latest/quickstart.html>`_ (replace all
instances of ``br-base.json`` with ``fedora-base.json``).
FireMarshal comes with a Fedora-based workload that you can use right out of The final step is to run this workload on the real firesim RTL with full timing
the box in ``workloads/fedora-base.json``. We begin by building the accuracy. For the basic fedora distribution, we will use the pre-made firesim
workload (filesystem and boot-binary): config at ``firesim/deploy/workloads/fedora-uniform.json``. Simply change the
::
./marshal build workloads/fedora-base.json
The first time you build a workload may take a long time (we need to download
and decompress a pre-built fedora image), but subsequent builds of the same
base will use cached results. Once the command completes, you should see two
new files in ``images/``: ``fedora-base-bin`` and ``fedora-base.img``. These
are the boot-binary (linux + boot loader) and root filesystem (respectively).
We can now launch this workload in qemu:
::
./marshal launch workloads/fedora-base.json
You should now see linux booting and be presented with a login prompt. Sign in
as 'root' with password 'firesim'. From here you can download files, use the
package manager (e.g. 'dnf install'), and generally use the image as if it had
booted on real hardware with an internet connection. Any changes you make here
will be persistent between reboots. Once you are done exploring, simply
shutdown the workload:
::
$ poweroff
It is typically not a good idea to modify the \*-base workloads directly since
many other workloads might inherit those changes. To make sure that we've
cleaned out any changes, let's clean and rebuild the workload:
::
./marshal clean workloads/fedora-base.json
./marshal build workloads/fedora-base.json
Note that this build took significantly less time than the first; FireMarshal
caches intermediate build steps whenever possible. The final step is to run
this workload on the real firesim RTL with full timing accuracy. For the basic
fedora distribution, we will use the pre-made firesim config at
``firesim/deploy/workloads/fedora-uniform.json``. Simply change the
``workloadname`` option in ``firesim/deploy/config_runtime.ini`` to ``workloadname`` option in ``firesim/deploy/config_runtime.ini`` to
"fedora-uniform.json" and then follow the standard FireSim procedure for "fedora-uniform.json" and then follow the standard FireSim procedure for
booting a workload (e.g. :ref:`single-node-sim` or :ref:`cluster-sim`). booting a workload (e.g. :ref:`single-node-sim` or :ref:`cluster-sim`).

View File

@ -3,7 +3,7 @@
Defining Custom Workloads Defining Custom Workloads
================================================ ================================================
**Workloads** in FireSim consist of a series of **Jobs** that are assigned to If you do not want to use :ref:`firemarshal`, you can still manually create custom workloads in FireSim. **Workloads** in FireSim consist of a series of **Jobs** that are assigned to
be run on individual simulations. Currently, we require that a Workload defines be run on individual simulations. Currently, we require that a Workload defines
either: either:

View File

@ -22,10 +22,5 @@ and rootfs can then be launched on qemu or spike (for functional simulation), or
installed to firesim for running on real RTL. installed to firesim for running on real RTL.
For more information, see the official `FireMarshal documentation For more information, see the official `FireMarshal documentation
<https://firemarshal.readthedocs.io/en/latest/>`_ and the quickstart guide <https://firemarshal.readthedocs.io/en/latest/>`_, and its `quickstart
below: tutorial <https://firemarshal.readthedocs.io/en/latest/quickstart.html>`_.
.. toctree::
:maxdepth: 2
FireMarshal-QuickStart

View File

@ -1,19 +1,14 @@
Workloads Workloads
================ ================
.. attention::
FireSim is moving to a new workload-generation tool :ref:`firemarshal`.
These instructions will be deprecated in future releases of FireSim.
This section describes workload definitions in FireSim. This section describes workload definitions in FireSim.
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
:caption: Workloads: :caption: Workloads:
FireMarshal
Defining-Custom-Workloads Defining-Custom-Workloads
SPEC-2017 SPEC-2017
Booting-Fedora Booting-Fedora
ISCA-2018-Experiments ISCA-2018-Experiments

View File

@ -37,7 +37,7 @@ this like so:
:: ::
cd firesim/sw/firesim-software cd firesim/sw/firesim-software
./marshal -v build workloads/br-base.json ./marshal -v build br-base.json
This process will take about 10 to 15 minutes on a ``c5.4xlarge`` instance. This process will take about 10 to 15 minutes on a ``c5.4xlarge`` instance.
Once this is completed, you'll have the following files: Once this is completed, you'll have the following files:

View File

@ -22,7 +22,7 @@ distribution. You can do this like so:
:: ::
cd firesim/sw/firesim-software cd firesim/sw/firesim-software
./marshal -v build workloads/br-base.json ./marshal -v build br-base.json
This process will take about 10 to 15 minutes on a ``c5.4xlarge`` instance. This process will take about 10 to 15 minutes on a ``c5.4xlarge`` instance.
Once this is completed, you'll have the following files: Once this is completed, you'll have the following files:

View File

@ -24,7 +24,6 @@ New to FireSim? Jump to the :ref:`firesim-basics` page for more info.
Advanced-Usage/Manager/index Advanced-Usage/Manager/index
Advanced-Usage/Workloads/index Advanced-Usage/Workloads/index
Advanced-Usage/FireMarshal/index
Advanced-Usage/Generating-Different-Targets.rst Advanced-Usage/Generating-Different-Targets.rst
Advanced-Usage/Debugging/index Advanced-Usage/Debugging/index
Advanced-Usage/Supernode.rst Advanced-Usage/Supernode.rst

@ -1 +1 @@
Subproject commit 290d4e450eefdf99561eea953f18018475a3245f Subproject commit 925e85e8f3dd965dbda71c721a16ea0183d17c29