CMPE 297

CMPE 297 Special Topics in Computer/Software Engineering
Software Defined Data Centers
Section 03, Fall 2016



Course Introduction :

The course covers core storage concepts, plus the development and implementation of Software-defined Data Centers for a variety of use cases, from Tier 1 to Tier 3 storage, HPC applications, database and Big Data applications, hosting and virtualized environments, and more. The course will include detailed exploration of the types of storage such as files, blocks and objects; and from physical devices through Software-defined Storage, along with the problems associated with data. Storage has a wide range of requirements, and students will learn how to analyze the different dimensions of the problem space and how storage solutions require an understanding of complete systems.

Note that this course is supported by Nexenta.

Course and Contact Information :

Instructor: Dr. Younghee Park
Office Location: EB 283E
Telephone: 408-924-7854
Email: younghee.park[at]sjsu[dot]edu
Office Hours: 11:00 a.m. to 12 p.m. every Tuesday.
Class Days/Time: 4:30 p.m. to 5:45 p.m. every Monday and Wednesday
Classroom: TBD
Prerequisites: Instructor consent

Course Goals and Course Learning Outcomes (CLO) :

Upon successful completion of this course, students will be able to:

  1. Design and construct Software Defined Data Centers in terms of networking, computing, and storage.
  2. Obtain in-depth knowledge of Software Defined Storage.
  3. Understand the fundamental core storage architecture and concepts.
  4. Build an application on Software Defined Data Centers.
  5. Work collaboratively and productively in a team project.
  6. Communicate effectively in both oral and written forms.
  7. Explore new software technologies: ZFS file system, OpenDaylight, OpenStack, etc.
  8. Be aware of security issues in Software Defined Storage.



SJSU classes are designed such that in order to be successful, it is expected that students will spend a minimum of forty-five hours for each unit of credit (normally three hours per unit per week), including preparing for class, participating in course activities, completing assignments, and so on. More details about student workload can be found in University Policy S12-3 at

The class assignments that are assessed and that contribute to your final grade include homework assignments, project presentation and report, and two exams.

  • Homework/Lab assignments: Labs with exercises will be assigned after learning several topics. The labs and the homework are tools for you to learn the material and prepare you for the exams. I will NOT accept late ones.
  • Labs and Class Demos: This class provides different hands-on techniques to understand the concept of Software Defined Data Centers.
  • - Targets: Network programming and virtual network element deployment.
    - Testbed and Tools: We use the labs supported by Nexenta. In addition, the instructors provide several labs by using Open Source Projects like OpenDaylight and OpenStack.
    • Reading assignments: You should read some chapters in the textbook and other materials before the next class.
    • Project assignments: A term project will be assigned in order to develop a small project related to Software Defined Data Centers. It is based on a group, unless otherwise specified. Each team is required to submit a project report for each phase on Canvas.
    • Exams: There are two exams (closed books) during the semester. No final exam.
    • No late assignments will be accepted. Email submission of assignments will NOT be accepted. Please turn in all assignment on CANVAS, the eLearning platform Canvas at:, after zipping them up together. An extension or an exception will be granted only if a student has serious and compelling reasons that can be proven by an independent authority (e.g. doctor's note if the student has been sick).




    Grading Policy

    Homework & Pop-up Quizzes 10 %
    Lab Exercises 10 %
    Term Course Project (Report/demo/presentation) 40 %
    Exam I 20 %
    Exam II 20 %



    • The final grade of this class is solely based on your performance in this class.
    • Plagiarism will result in a grade of F for the class as well being referred to the Department Chair.
    • No extra credit is available.
    • To pass this class, a student needs to take the two exams and to contribute an assignment and a project.



    The schedule is subject to change with fair notice through the email or the course website.


    Date Topics
    8/29 Introduction (Nexenta)
    8/31 Software Defined Data Centers
    9/5 Labor Day (Campus Closed)
    9/7 Storage Concepts and Different Types
    9/12 Storage Area Networks (SAN) and Network File Systems I
    9/14 Storage Area Networks (SAN) and Network File Systems II (Lab 1)
    9/19 ZFS File System I
    9/21 ZFS File System II
    9/26 ZFS File System III (Lab 2)
    9/28 Use Case I: Nexenta Storage Architecture
    10/3 Software Defined Concepts and Framework I
    10/5 Software Defined Concepts and Framework II
    10/10 Software Defined Concepts and Framework III
    10/12 OpenStack I
    10/17 OpenStack II
    10/19 OpenStack III
    10/17 Exam I
    10/26 Use Case II: Distributed storage with NexentaEdge
    10/31 Use Case II: Distributed storage with NexentaEdge
    11/2 Use Case II: Distributed storage with NexentaEdge (Lab 3)
    11/7 OpenStack + Software-defined
    11/9 OpenStack + Software-defined(Lab 4)
    11/14 OpenStack + Software-defined(Lab 5)
    11/16 Performance Evaluation for Data Centers
    11/21 Troubleshooting
    11/23 Thanksgiving Holiday
    11/28 SDS Use Case (Tier 1 or Tier 3 Storage, HPC applications, Big Data, Cloud)
    11/30 Exam II
    12/5 Group Project Presentation
    12/7 Group Project Presentation
    12/12 Group Project Presentation + Nexenta Survey




    Brian Underdahl and Robert Novak, Software Defined Data Centers for Dummies, Nexenta Special Edition , 2014.

    George V. Neville-Neil,Marshall Kirk McKusick,Robert N.M. Watson, Design and Implementation of the FreeBSD Operating System (the 2nd edition), (ISBN-10: 0321968972, ISBN-13: 9780321968975).

    Other Readings

    William Stallings, Foundations of Modern Networking: SDN, NFV, QoE, IoT, and Cloud, Addison-Wesley. (ISBN-13:978-0-13-417539-3), 2015.

    Tom Clark, Designing Storage Area Networks: A Practical Reference for Implementing Fibre Channel and IP SANs (the 2nd edition), (ISBN-10: 0321136500, ISBN-13: 9780321136503).

    Note that the instructor will provide a set of reading materials after selecting some topics from textbook and articles. The listed books above are just a list of references for students.

    Click here for CMPE 297 Green Sheet