Esempio n. 1
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf["workload_src"] = config.LBAGENERATOR
                self.conf["lba_workload_class"] = "BlktraceEvents"
                self.conf['lba_workload_configs']['mkfs_event_path'] = \
                        self.para.mkfs_path
                self.conf['lba_workload_configs']['ftlsim_event_path'] = \
                        self.para.ftlsim_path

        para = experiment.get_shared_nolist_para_dict("test_exp_TestUsingExistingTraceToStudyRequestScale_jj23hx", 1*GB)
        para.update({
            'ftl': "ftlcounter",
            "mkfs_path": "./tests/testdata/sqlitewal-update/subexp-7928737328932659543-ext4-10-07-23-50-10--2726320246496492803/blkparse-events-for-ftlsim-mkfs.txt",
            "ftlsim_path": "./tests/testdata/sqlitewal-update/subexp-7928737328932659543-ext4-10-07-23-50-10--2726320246496492803/blkparse-events-for-ftlsim.txt",
            'ftl' : 'ftlcounter',
            'enable_simulation': True,
            'dump_ext4_after_workload': True,
            'only_get_traffic': False,
            'trace_issue_and_complete': True,
            'do_dump_lpn_sem': False,
            })

        Parameters = collections.namedtuple("Parameters", ','.join(para.keys()))
        obj = LocalExperiment( Parameters(**para) )
        obj.main()
Esempio n. 2
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf["workload_src"] = config.LBAGENERATOR
                self.conf["lba_workload_class"] = "BlktraceEvents"
                self.conf['lba_workload_configs']['mkfs_event_path'] = \
                        self.para.mkfs_path
                self.conf['lba_workload_configs']['ftlsim_event_path'] = \
                        self.para.ftlsim_path

        para = experiment.get_shared_nolist_para_dict(
            "test_exp_TestUsingExistingTraceToSimulate_jj23hx", 1 * GB)
        para.update({
            'ftl':
            "dftldes",
            "mkfs_path":
            "./tests/testdata/sqlitewal-update/subexp-7928737328932659543-ext4-10-07-23-50-10--2726320246496492803/blkparse-events-for-ftlsim-mkfs.txt",
            "ftlsim_path":
            "./tests/testdata/sqlitewal-update/subexp-7928737328932659543-ext4-10-07-23-50-10--2726320246496492803/blkparse-events-for-ftlsim.txt",
        })

        Parameters = collections.namedtuple("Parameters",
                                            ','.join(para.keys()))
        obj = LocalExperiment(Parameters(**para))
        obj.main()
Esempio n. 3
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf['workload_class'] = "SimpleRandReadWrite"

        para = experiment.get_shared_nolist_para_dict("test_exp_TraceAndSimulateNKFTL_xjjj", 16*MB)
        para['device_path'] = "/dev/loop0"
        para['ftl'] = "nkftl2"
        Parameters = collections.namedtuple("Parameters", ','.join(para.keys()))
        obj = LocalExperiment( Parameters(**para) )
        obj.main()
Esempio n. 4
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf['workload_class'] = "SimpleRandReadWrite"

        para = experiment.get_shared_nolist_para_dict("test_exp_TraceOnly2", 16*MB)
        para['device_path'] = "/dev/loop0"
        para['enable_simulation'] = False
        para['enable_blktrace'] = True

        Parameters = collections.namedtuple("Parameters", ','.join(para.keys()))
        obj = LocalExperiment( Parameters(**para) )
        obj.main()
Esempio n. 5
0
class Test_SimulateForSyntheticWorkload(unittest.TestCase):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf['workload_src'] = config.LBAGENERATOR
                self.conf['lba_workload_class'] = "AccessesWithDist"
                self.conf['AccessesWithDist'] = {
                        'lba_access_dist': 'uniform',
                        'traffic_size': 8*MB,
                        'chunk_size': 64*KB,
                        'space_size': 8*MB,
                        'skew_factor': None,
                        'zipf_alpha': None,
                        }

        para = experiment.get_shared_nolist_para_dict("test_exp_SimulateForSyntheticWorkload", 16*MB)
        para['ftl'] = "nkftl2"
        Parameters = collections.namedtuple("Parameters", ','.join(para.keys()))
        obj = LocalExperiment( Parameters(**para) )
        obj.main()
Esempio n. 6
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf['workload_class'] = "MeasureAlignment_80"

        para = experiment.get_shared_nolist_para_dict(
            expname="test_alignment_80_traces", lbabytes=16 * MB)
        para.update({
            "device_path": "/dev/sdc1",
            "ftl": "ftlcounter",
            "enable_simulation": True,
            "dump_ext4_after_workload": True,
            "only_get_traffic": False,
            "trace_issue_and_complete": True,
        })
        Parameters = collections.namedtuple("Parameters",
                                            ','.join(para.keys()))
        obj = LocalExperiment(Parameters(**para))
        obj.main()
Esempio n. 7
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf['workload_class'] = "SimpleRandReadWrite"

        para = experiment.get_shared_nolist_para_dict("test_exp_TestRequestScale_jjj3nx", 16*MB)
        para['device_path'] = "/dev/loop0"
        para.update(
            {
                'device_path': "/dev/loop0",
                'ftl' : 'ftlcounter',
                'enable_simulation': True,
                'dump_ext4_after_workload': True,
                'only_get_traffic': False,
                'trace_issue_and_complete': True,
            })

        Parameters = collections.namedtuple("Parameters", ','.join(para.keys()))
        obj = LocalExperiment( Parameters(**para) )
        obj.main()
Esempio n. 8
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf['workload_class'] = "ScaleBad"

        para = experiment.get_shared_nolist_para_dict(expname="scale-bad-exp",
                                                      lbabytes=1024 * MB)
        para.update({
            'device_path': "/dev/sdc1",
            'ftl': 'ftlcounter',
            'enable_simulation': True,
            'dump_ext4_after_workload': True,
            'only_get_traffic': False,
            'trace_issue_and_complete': True,
        })

        Parameters = collections.namedtuple("Parameters",
                                            ','.join(para.keys()))
        obj = LocalExperiment(Parameters(**para))
        obj.main()
Esempio n. 9
0
    def test_run(self):
        # Define local experiment class
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf["workload_class"] = "MeasureRequestScale_16KB_32"

        para = experiment.get_shared_nolist_para_dict(
            expname="test_request_scale_seqwrite_16KB_32", lbabytes=1024 * MB)
        para.update({
            "device_path": "/dev/sdc2",
            "ftl": "ftlcounter",
            "enable_simulation": True,
            "dump_ext4_after_workload": True,
            "only_get_traffic": False,
            "trace_issue_and_complete": True,
        })
        Parameters = collections.namedtuple("Parameters",
                                            ','.join(para.keys()))
        obj = LocalExperiment(Parameters(**para))
        obj.main()
Esempio n. 10
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf['workload_class'] = "Directory_Purge"

        para = experiment.get_shared_nolist_para_dict(
            expname="exp_purge_IGNORE", lbabytes=256 * MB)
        para.update({
            'device_path': "/dev/loop0",
            'ftl': 'ftlcounter',
            'enable_simulation': True,
            #'dump_ext4_after_workload': True,
            'filesystem': "f2fs",
            'only_get_traffic': False,
            'trace_issue_and_complete': True,
        })

        Parameters = collections.namedtuple("Parameters",
                                            ','.join(para.keys()))
        obj = LocalExperiment(Parameters(**para))
        obj.main()
Esempio n. 11
0
    def test_run(self):
        class LocalExperiment(experiment.Experiment):
            def setup_workload(self):
                self.conf['workload_class'] = "SimpleRandReadWrite"

        para = experiment.get_shared_nolist_para_dict("test_exp_TestUniformDataLifetime", 16*MB)
        para.update(
            {
                'ftl' : 'ftlcounter',
                'device_path'    : '/dev/loop0',
                'enable_simulation': True,
                'dump_ext4_after_workload': True,
                'only_get_traffic': False,
                'trace_issue_and_complete': False,
                'gen_ncq_depth_table': False,
                'do_dump_lpn_sem': False,
                'rm_blkparse_events': True,
                'sort_block_trace': False,
            })

        Parameters = collections.namedtuple("Parameters", ','.join(para.keys()))
        obj = LocalExperiment( Parameters(**para) )
        obj.main()